UE4:網路同步
1. Actor 的生命週期:從放置在場景裡直到場景銷燬。所以需要保留的東西,不要用Actor建立,用UObject。
2. C++與藍圖的互動
UPROPERTY
它允許變數被複制、被序列化,並可從藍圖中進行訪問。
1. 在藍圖中呼叫變數
BlueprintReadWrite:設定藍圖為可讀寫。就可以直接在藍圖裡get/set到這個變數。
2. 在藍圖中呼叫方法
BlueprintCallable:在藍圖中可呼叫
DisplayName:在藍圖中顯示的名字
Keywords:關鍵字,在藍圖裡可按關鍵字搜尋
3. 什麼是RPC?
用途:設定網路中的函式複製。允許客戶端和伺服器通過網路連線互發訊息。
全稱 遠端過程呼叫。在本地呼叫但在其他機器上遠端執行的函式。
RPC————Client————伺服器發給客戶端————血條、藍條、小地圖玩家位置
————Server————客戶端點選事件發給伺服器————登入驗證
————NetMulticast————伺服器呼叫廣播通知所有客戶端————死亡、位置
同步————Actor同步
————Property同步
————函式同步
————元件同步
————複製子物件同步
ENetRole————ROLE_None————不同步,客戶端即使客戶端也是伺服器,監聽伺服器
————ROLE_SimulatedProxy————模擬玩家,即除開主玩家之外的玩家
————ROLE_AutonomousProxy————客戶端玩家,即主玩家
————ROLE_Authority————伺服器
4. 按鍵響應
客戶端按鍵 ——傳遞——> 服務端PlayerController ——控制——> 服務端Pawn ——操作——> 服務端Character ——廣播——> 客戶端動畫