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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

相关推荐
m0_552200822 天前
《UE5_C++多人TPS完整教程》学习笔记48 ——《P49 瞄准偏移(Aim Offset)》
c++·游戏·ue5
m0_552200823 天前
《UE5_C++多人TPS完整教程》学习笔记49 ——《P50 应用瞄准偏移(Applying Aim Offset)》
c++·游戏·ue5
m0_552200823 天前
《UE5_C++多人TPS完整教程》学习笔记50 ——《P51 多人游戏中的俯仰角(Pitch in Multiplayer)》
c++·游戏·ue5
CandyU23 天前
UE5 基础应用 —— 09 - 展示类小项目
ue5
vonlycn3 天前
UE5 性能优化(1) 模型合并,材质合并
ue5·材质
ue星空4 天前
月2期学习笔记
学习·游戏·ue5
曼巴UE55 天前
UE5 制作游戏框架的部分经验积累(持续更新)
游戏·ue5
CandyU25 天前
UE5 基础应用 —— 10 - 控制台命令
ue5
平行云8 天前
Paraverse平行云实时云渲染助力第82届威尼斯电影节XR沉浸式体验
unity·云原生·ue5·xr·实时云渲染
一眼万里*e8 天前
用ai写了个UE5插件
c++·ue5