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