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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

相关推荐
directx3d_beginner1 天前
5,动画蓝图类接口转c++
ue5
RuiZN1 天前
UE5 蓝图 FPS 02 Event Beginplay
c++·ue5
RuiZN1 天前
UE5 蓝图 FPS 01 Event Tick
c++·ue5
directx3d_beginner1 天前
6,执行攻击改为c++
ue5
平行云2 天前
实时云渲染预启动技术解析:UE数字孪生应用的延迟优化机制(二)
linux·unity·ue5·webgl·实时云渲染·云桌面·像素流
RuiZN2 天前
UE5 UObject类详解
c++·ue5
平行云2 天前
实时云渲染预启动技术解析:UE数字孪生应用的延迟优化机制(一)
linux·ue5·webgl·数字孪生·云渲染·实时云渲染·像素流
RuiZN2 天前
UE5 UObject和反射
c++·ue5
远离UE44 天前
UE5 如何在延时渲染在材质编辑器提前使用到多灯光的数据
ue5·编辑器·材质
SCLchuck4 天前
虚幻5 Unrealsharp EditorTick + Nanite雪地踩坑记录
ue5