UE4 C++ 網絡聯機基礎(2)

Pawn類當中擁有一個RemoteViewPitch成員變量,

該變量已經複製客戶端中玩家Pitch的旋轉量,可以用其來進行服務器中pawn類型Pitch旋轉的同步。

值得注意的是RemoteViewPitch的類型是Unit8並且被壓縮不接受負數 想要得到實際的旋轉量需要將其乘以360在除以255即可。

 

IsLocallyControlled()函數用來檢查當前Pawn是否受到本地控制器的控制(可以在有多個玩家時檢查當前Pawn是否是自己控制的Pawn)。

 

成員允許被客戶端複製並修改可以使用UPROPERTY(Replicated)

配合GetLifetimeReplicatedProps函數使用。

 

想要成員在被服務器修改後調用回調函數可以使用UPROPERTY(ReplicatedUsing = OnRep_TeamColor),

配合GetLifetimeReplicatedProps函數使用。

OnRep_TeamColor即是需要回調的函數。

ReplicatedUsing只能在客戶端中進行回調,如果想運行在服務器中還需要手動調用。

 

設置成員變量在服務器中複製到客戶端的規則:

#include "Net/UnrealNetwork.h"

void MyClass::GetLifetimeReplicatedProps(TArray<FLifetimeProperty>& OutLifetimeProps)const

{

   Super::GetLifetimeReplicatedProps(OutLifetimeProps);

        DOREPLIFETIME(MyClass, AAA);
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章