UE5 - 野狼捕猎游戏制作教程6(继承狼的动画蓝图应用到小鹿模型上)
作者:hangge | 2026-09-24 09:19
我们在前面的文章中实现了一个可操作的野狼模型,其使用的动画蓝图“Anim_Wolf”内部包含了各种状态和转换逻辑的状态机,以及各种操作逻辑的事件图表。如果我们还需要一个其他动物模型(比如鹿模型),如果仍然从头开始创建动画蓝图“Anim_Deer”那就十分麻烦,并且不利于代码复用和维护。




(2)在弹出的“选择骨骼”对话框中选择“SK_DeerDoe_Skelton”骨骼并命名动画为“BS_DeerMove”。









其实我们可以吧“Anim_Wolf”动画蓝图作为父类,它的子类可以方便地继承它已经写好地操作,只需要替换其中地动画就可以将其子类应用到鹿的模型上。
六、继承狼的动画蓝图应用到小鹿模型上
1,修改父类动画蓝图(狼)
(1)进入“Anim_Wolf”动画蓝图的“Move”状态,选择“BS_WolfMove”混合空间,在“细节”面板中找到“混合空间”参数,打开“绑定”下拉列表并选择“公开为引脚选项”。
- 拖曳节点的“Blend Space”引脚到空白处并执行“提升为变量”菜单命令,创建一个变量并命名为“Move Blend”。这样子类动画蓝图就会继承此变量,并可以直接修改它。
(2)进入“StartRest”状态,选择序列播放器节点,在“细节”面板中打开“序列”右侧的“绑定”下拉列表并选择“公开为引脚”选项。
- 拖曳“Sequence”引脚到空白处并执行“提升为变量”菜单命令,创建一个变量并命名为“Start Rest Anim”

(3)对剩余三个状态“Rest”、“EndRest”和“Death”执行相同的操作,分别命名变量为“Rest Anim”、“End Rest Anim”和“Death Anim”。完成后编译并保存动画蓝图。


2,创建鹿移动的混合空间
(1)在“内容浏览器”面板的空白处单击鼠标右键,执行“动画 > 旧有 > 混合空间 1D”菜单命令。


(3)进入“BS_DeerMove”动画,在左侧的“资产详情”面板中设置“水平坐标”的“名称”为 Speed,“最大轴值”为 360.0。

(4)按住 Shif 键并分别拖曳“资产浏览器”面板中的“ANIM_DeerDoe_IdleBreathe”与“ANIM_DeerDoe_Run”两个动画到时间轴的最左侧与最右侧。完成后保存蓝图。

3,创建子类动画蓝图(鹿)
(1)用鼠标右键单击“Anim_Wolf”动画蓝图,执行“创建带骨架的子动画蓝图”菜单命令。

(2)接着在弹出框中骨架暂时仍然选择狼的骨架,最后将新建的子类蓝图并命名为“Anim_Deer”。

(3)进入“Anim_Deer”动画蓝图,单击工具栏中的“类设置”按钮,在“细节”面板中设置“目标骨骼”为“SK_DeerDoe_Skeleton”,也就是鹿的骨架。

(4)在“动画预览编辑器”面板中设置从父类继承下来的变量的参数。
- 选择“编辑默认项”选项
- 设置“Move Blend”为“BS_DeerMove”
- 设置“Start Rest Anim”为“ANIM_DeerDoe_GoToRest”
- 设置“Rest Anim”为“ANIM_DeerDoe_IdleRest”
- 设置“End Rest Anim”为“ANIM_DeerDoe_RestToGoBackUp”
- 设置“Deatch Anim”为“ANIM_DeerDoe_Death”

4,创建小鹿角色蓝图
(1)使用鼠标右键单击“BP_CharacterBase”蓝图,执行“创建子蓝图类”菜单命令创建一个子类蓝图并命名为“BP_Deer”

(2)进入“BP_Deer”蓝图,在“组件”面板中选择网格体组件,设置“骨骼网格体”为“SK_DeerDoe”,设置“动画类”为“Anim_Deer_C”,并设置合适的骨骼网格体的“位置”与“旋转”参数。

5,运行测试
(1)我们拖拽多个“BP_Deer”到关卡中。

(2)运行程序后,可以看到虽然小鹿处于静止状态但也会有站立的动画。并且控制狼对小鹿进行攻击,其死亡时也会有倒地动画。

全部评论(0)