UE5 使用动画模板创建多个动画蓝图

我们制作游戏的时候,角色会根据不同的武器表现出来不同的攻击动画,待机动画以及移动动画。如果我们在UE里面实现这个需求,是通过复制粘贴的方式修改,还是有更好的方式。

这里就需要介绍一下动画模板,我们可以将动画蓝图相同的内容放置到一个动画模板内,去修改需求也就不会需要单独的去修改每个动画蓝图。(尤其是角色资源数量特别多的时候,只需要修改动画模板即可。)实现代码的复用性。

接下来实现一个简单的动画模板创建多个动画蓝图。

在创建动画蓝图时,我们不选择特定骨架,而是直接选择模板,先创建一个通用的模版

创建一个状态机,里面用于更新角色移动状态,slot插槽则用于播放蒙太奇。

在状态机里面添加一个状态,输出当前动画状态播放的动画。

在状态里面,我们需要添加一个混合空间播放器,而不是指定一个特定的混合空间。这个实际使用的混合空间资源我们将在角色自身的动画蓝图中设置。

混合空间还需要一个速度值进行更新,所以我们还需要再事件图表中实现速度的更新,并传递给混合空间播放器。

在事件图表这里,首先你需要重载蓝图初始化动画函数。

初始化时,主要获取到动画蓝图所有者的角色移动组件,并保存为变量。

在帧更新里面,获取角色移动组件是否存在,然后获取到角色的这一帧的移动长度,并转换为速度。这个速度的值将在动画状态更新时被使用。

到这里,一个简单的动画模板创建完成,接下来,我们将基于这个模版创建动画蓝图使用。

在创建指定骨架使用的动画蓝图时,我们需要指定父类使用前面创建的动画蓝图的模板

打开以后,我们首先要进行资产覆盖,设置当前骨架使用的混合空间(案例使用了两个,拿着不同武器的混合空间)

如果查找不到,记得在窗口中打开资产覆盖编辑器。

如果设置的正确,则左侧的模型将会播放动画。如果需要多个,我们可以使用相同的方式去创建蓝图即可。

相关推荐
zhangzhangkeji6 小时前
UE5 C++(48-3):共享指针的老师讲解的例题。以及 共享指针 TSharedPtr<T, ESPMode> 的源代码
ue5
暮志未晚Webgl1 天前
UE5Niagara粒子系统性能优化
ue5
努力的小钟2 天前
UObject创建系统深度分析
ue5
速冻鱼Kiel2 天前
Lyra的相机系统
笔记·ue5·游戏引擎·虚幻
暮志未晚Webgl2 天前
UE5模型面数优化
ue5
zhangzhangkeji2 天前
UE5 C++(45):射线检测多物体的的按通道与按对象类型 LineTraceMultiByObjectType
ue5
成都渲染101云渲染66662 天前
5090 显卡云端上线!Blender / Maya / UE5 渲染速度再提升,云渲染成主流选择
ue5·blender·maya
一个响当当的名号3 天前
lectrue5 存储模型和压缩
ue5
zhangzhangkeji3 天前
UE5 C++(44-4):对比一下蓝图中的射线检测节点,源代码,按通道与按对象类型
ue5
暮志未晚Webgl4 天前
UE使用内置功能查看性能
ue5