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

相关推荐
zhangzhangkeji9 天前
UE5 C++(71):文件是否存在,文件夹是否存在,FPaths :: FileExists( const FString & InPath) ;
ue5
妙为9 天前
UE5角色穿过石头穿模
ue5·unreal engine5·角色穿越石头·穿模
技术策划Boring10 天前
2025年工作复盘:开放世界3A项目配置管线与性能监控的探索
游戏·ue5·虚幻·p4·perforce
zhangzhangkeji12 天前
UE5 C++(70-2):定义成员函数 getCleanDirectory(..) 和枚举类 EFileDirectoryType,来获得目录
ue5
avi911113 天前
UE4-UE5虚幻引擎-前置学习三,优化,基础CPP
ue5·ue4·游戏开发·虚幻·游戏优化·游戏代码
zhangzhangkeji13 天前
UE5线程进阶(3-2):任务图的相关源码整理。 FGraphEvent 与 TGraphTask 的区别和联系
ue5
zhangzhangkeji15 天前
UE5线程进阶(3-1):
ue5
zhangzhangkeji15 天前
UE5线程进阶(2-3):enum ENamedThreads命名空间 :: Type : int32 { RHIThread = 0 } 是渲染硬件接口线程
ue5
zhangzhangkeji16 天前
UE5线程进阶(2-1):枚举类EAsyncExecution,作业类TAsyncRunnable、TAsyncQueuedWork,及全局线程函数 Async(..),及线程调用的 4 种方法总结
ue5
zhangzhangkeji17 天前
UE5线程进阶(1):
ue5