【UE4】网游开发中的RPC和OnRep(三)

【UE4】网游开发中的RPC和OnRep(三)

本文转自我的公众号—游戏开发手账
转载请标明出处

最后说说怎么用OnRep完成子弹的同步。

OnRep

使用属性同步也能够完成Client和Server的同步,仍是以之前的Fire功能为例。

Multicast相关部分可以全注释掉了,在头文件声明要同步的属性Fired和要调用的函数OnRep_OnFire()

UPROPERTY(ReplicatedUsing = OnRep_OnFire)
uint8 Fired;

UFUNCTION()
void OnRep_OnFire();

这里的ReplicatedUsing可以这样简单理解:Server的Fired值变化时,Client中会触发函数OnRep_OnFire(),但是在Server需要手动调用OnRep_OnFire()

在cpp中进行OnRep_OnFire()的实现,并进行属性的条件复制:

void AMultiplayerCharacter::OnRep_OnFire()
{
   
    /*生成投射物*/
    /*开枪的动画*/
    /*生成声音*/
    /*...*/
}

void AMultiplayerCharacter::GetLifetimeReplicatedProps

你可能感兴趣的:(UnrealEngine,游戏,游戏开发,游戏引擎,unreal)