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 ——广播——> 客户动画   

 

posted @ 2022-04-20 17:50  番茄玛丽  阅读(497)  评论(0编辑  收藏  举报