90天入门UE引擎开发--学习日记(45/100)

本文详细介绍了如何在Unreal Engine中实现多人在线游戏,包括开启聆听服务器、RPC调用、组播、变量同步、Actor同步、蒙太奇动画同步、血条UMG同步、刷怪数量同步和掉落道具同步等关键步骤。同时,文章讨论了技能的服务器和客户端使用,以及怪物外观同步等技术细节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

官方教程直通车

https://docs.unrealengine.com/5.0/en-US/networking-and-multiplayer-in-unreal-engine/icon-default.png?t=M85Bhttps://docs.unrealengine.com/5.0/en-US/networking-and-multiplayer-in-unreal-engine/

实现多人在线游戏

开启聆听服务器可以简单的实现多人同时在一个游戏里(但仍有许多问题)

RPC(远程函数方法的调用)Remote Produce Call

调用:三种方式

组播 (Multicast)

在服务器上运行(Run on Server)

在拥有的客户端上运行(Run on owning Client)

变量的同步

一、(自定义)事件运行方式的复制方式都要改成 在服务器上运行(Run on Server)

二、is Bow Attack Start要设置为Relicated

BP_Arrow里的ArrowVelocity都要设置为复制

 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

 怪物外观的同步

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值