UE5(基础动作)多人游戏制作蹲伏

1.创建输入操作,IA_Crouch

在输入映射中添加 IA_Crouch,在触发器中创建两个索引,已按下已松开来创建蹲伏输入。

蹲伏操作必须要勾选角色-角色移动-crouch勾选可蹲伏否则你的人物无法真正蹲下。

为蹲伏创建函数,创建布尔来判断是否蹲伏。

通过Switch Has Anthority控制代码防止作弊,在函数内部创建的变量只能在函数内使用,Switch Has Anthority 可以控制代码通过权限或者远程的方式来判断代码如何运行,Anthority权限运行服务器代码,Remate运行客户端代码。

先运行服务器事件再运行函数,我们在人物事件蓝图中设定事件 SRV_Crouch 在细节--复制--将未复制设置为在服务器上运行,并且将其设置为可靠函数,并连接蹲伏函数。

在蹲伏函数内,我们可以先创建分支然后在true和false中分别调用 Crouch,Un Crouch ,并且使用我们创建的本地布尔控制是否蹲伏,最后在Switch Has Anthority 的Remote节点连接 SRV_Crouch来使客户端运行代码需要通过服务器的复制。

将设置的布尔连接到Crouch ,UnCrouch后面,引入序列之后再替换

现在来制作动画部分,在状态机中创建Crouch状态

点开状态机Crouch,添加BS_Crouch_UA混合空间,添加前章的Movement Direction ,Movement Speed

添加混合空间之后还需要添加过渡,在动画事件蓝图中,创建playerbase的接口,使用接口获取Crouch,设置Crouch保存变量来获取蹲伏的状态,

idel------> crouch ,通过布尔控制是否蹲伏

crouch------idel ,通过布尔取反是来判断是否蹲伏,这时 编译不会报错,并且我们完成了蹲伏操作,唯一的问题是,服务器可以看到玩家蹲伏,玩家无法看到服务器蹲伏,我们下一节解决这个问题。

相关推荐
AA陈超5 天前
以 Lyra 的架构为基础,创建一个名为 “Aura“ 的英雄并实现发射火球技能
c++·笔记·学习·ue5·lyra
AA陈超5 天前
Lyra项目中的输入系统
c++·笔记·学习·游戏·ue5·lyra
AA陈超5 天前
ASC学习笔记0027:直接设置属性的基础值,而不会影响当前正在生效的任何修饰符(Modifiers)
c++·笔记·学习·ue5·虚幻引擎
开发游戏的老王5 天前
UE5.6 C++项目升级UE5.7时用Rider加载项目失败的解决办法
ue5·游戏引擎·虚幻·虚幻引擎·rider·ue5.7·target.cs
AA陈超6 天前
ASC学习笔记0020:用于定义角色或Actor的默认属性值
c++·笔记·学习·ue5·虚幻引擎
平行云6 天前
World Labs & Paraverse:统一3D世界的创造与访问
3d·unity·ai·ue5·aigc·实时云渲染·云xr
AA陈超6 天前
使用UnrealEngine引擎,实现鼠标点击移动
c++·笔记·学习·ue5·虚幻引擎
AA陈超6 天前
Lyra源码分析:LyraCharacterMovementComponent
c++·笔记·学习·ue5·虚幻引擎·lyra
电子云与长程纠缠7 天前
UE5打光技巧02(新手向)
ue5
AA陈超7 天前
UE5笔记:GetWorld()->SpawnActorDeferred()
c++·笔记·学习·ue5·虚幻引擎