官方教程直通车
实现多人在线游戏
开启聆听服务器可以简单的实现多人同时在一个游戏里(但仍有许多问题)
RPC(远程函数方法的调用)Remote Produce Call
调用:三种方式
组播 (Multicast)
在服务器上运行(Run on Server)
在拥有的客户端上运行(Run on owning Client)
变量的同步
一、(自定义)事件运行方式的复制方式都要改成 在服务器上运行(Run on Server)
二、is Bow Attack Start要设置为Relicated
BP_Arrow里的Arrow和Velocity都要设置为复制
actor 的同步
同步的时候要把运动组件一同复制过来
蒙太奇动画的同步
首先整理一下BP_Player里的UseSkill函数(因为它实在太复杂了,容易引起崩溃)
在BP_Player里新建一个函数 UseSkillClient,复制转移UseSkill的一部分代码
将UseSkill改名字为UseSkillServer,并将其转为事件
将Break SD_Skill拉到UseSkillClient事件上,可以便捷的添加一个 输入节点,改名为Skill
同时对 使用技能服务器 的UseSkillServer的CurrentSkill直接连给UseSkillClient的输入节点Skill
特效的同步
将怪兽蓝图里的EventAnyDamage拆分成服务端和客户端两个形式
新建一个自定义事件HitEvent,组播形式,勾选可靠
最后整理出来的样子
血条UMG的同步
变量HpMax设置赋值
对变量Hp设置为RepNotify
完了自动出来一个OnRep_Hp 函数
将刷新血量的东西直接都剪切掉(因为上面的RepNotify已经可以实时更新了)
将剪切过来的东西复制到OnRep_Hp函数里
初始化里也需要复制黏贴一下,做刷新血量的处理
刷怪数量的同步
掉落道具的同步
用本着一开始联机游戏的目的书写一个新技能
(这里我有bug,先不想管了)
(因为上面的都是单击改联机的思路 )
新技能的按键绑定
蓝图的思路逻辑
在服务器使用技能4
在客户端使用技能4