UE5 - 野狼捕猎游戏制作教程3(给野狼添加休息状态)
作者:hangge | 2026-09-21 09:02
三、给野狼添加休息状态
1,修改动画蓝图中的事件逻辑
(1)双击打开“Anim_Wolf”动画蓝图,新增一个“isRest”布尔类型变量。

(2)对“事件图表”中原因的逻辑进行改造,增加对该变量值的设置逻辑。
2,修改动画蓝图中的状态机
(1)还在“Anim_Wolf”动画蓝图,双击打开“BaseMovement”状态机。

(2)新建 3 个状态,将它们分别命名为“StartRest”“Resting”“EndRest”,再将它们连接起来。

(3)双击进入“StartRest”状态,在“资产浏览器”面板中拖拽“ANIM_Wolf_Howl”动画到图表并连接“输出动画姿势”节点。然后取消“循环动画”勾选。

(4)双击进入“Resting”状态,在“资产浏览器”面板中拖拽“ANIM_Wolf_Rest”动画到图表并连接“输出动画姿势”节点。然后勾选“循环动画”。

(5)双击进入“EndRest”状态,在“资产浏览器”面板中拖拽“ANIM_Wolf_RestToGoBackUp”动画到图表并连接“输出动画姿势”节点。然后取消“循环动画”勾选。

(6)双击“Move”状态与“StartRest”状态的连接线上的图标,进入后使用“isRest”变量连接“Can Enter Transition”引脚。

(7)双击“StartRest”状态与“Resting”状态的连接线上的图标,进入后添加“获取相关剩余动画时间(StartRest)”节点,使用“小于”节点判断“Return Value”引脚的值是否小于 0.1,并将布尔型引脚连接到“结果”节点。

(8)双击“Resting”状态与“EndRest”状态的连接线上的图标,进入后使用“isRest”变量连接“Not”节点并将布尔值连接到“Can Enter Transition”引脚。

(9)双击“EndRest”状态与“Move”状态的连接线上的图标,进入后添加“获取相关剩余动画时间(EndRest)”节点,使用“小于”节点判断“Return Value”引脚的值是否小于 0.1,并将布尔型引脚连接到“结果”节点。

3,运行测试
(1)为方便测试,我们打开“BP_Wolf”这个角色蓝图添加如下逻辑,通过按键改变“isRest”变量的值。

(2)运行程序,当我们按下键盘数字 1 时,狼会趴下身体进入休息状态。按下数字 2 时则从趴着的状态站立起来。

全部评论(0)