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

我们制作游戏的时候,角色会根据不同的武器表现出来不同的攻击动画,待机动画以及移动动画。如果我们在UE里面实现这个需求,是通过复制粘贴的方式修改,还是有更好的方式。
这里就需要介绍一下动画模板,我们可以将动画蓝图相同的内容放置到一个动画模板内,去修改需求也就不会需要单独的去修改每个动画蓝图。(尤其是角色资源数量特别多的时候,只需要修改动画模板即可。)实现代码的复用性。
接下来实现一个简单的动画模板创建多个动画蓝图。

在这里插入图片描述
在创建动画蓝图时,我们不选择特定骨架,而是直接选择模板,先创建一个通用的模版
在这里插入图片描述
创建一个状态机,里面用于更新角色移动状态,slot插槽则用于播放蒙太奇。
在这里插入图片描述
在状态机里面添加一个状态,输出当前动画状态播放的动画。
在这里插入图片描述
在状态里面,我们需要添加一个混合空间播放器,而不是指定一个特定的混合空间。这个实际使用的混合空间资源我们将在角色自身的动画蓝图中设置。

混合空间还需要一个速度值进行更新,所以我们还需要再事件图表中实现速度的更新,并传递给混合空间播放器。
在这里插入图片描述
在事件图表这里,首先你需要重载蓝图初始化动画函数。
在这里插入图片描述
初始化时,主要获取到动画蓝图所有者的角色移动组件,并保存为变量。
在这里插入图片描述
在帧更新里面,获取角色移动组件是否存在,然后获取到角色的这一帧的移动长度,并转换为速度。这个速度的值将在动画状态更新时被使用。

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

在这里插入图片描述
在创建指定骨架使用的动画蓝图时,我们需要指定父类使用前面创建的动画蓝图的模板
在这里插入图片描述
打开以后,我们首先要进行资产覆盖,设置当前骨架使用的混合空间(案例使用了两个,拿着不同武器的混合空间)
在这里插入图片描述
如果查找不到,记得在窗口中打开资产覆盖编辑器。
在这里插入图片描述
如果设置的正确,则左侧的模型将会播放动画。如果需要多个,我们可以使用相同的方式去创建蓝图即可。

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-12 02:40:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-12 02:40:01       101 阅读
  3. 在Django里面运行非项目文件

    2024-01-12 02:40:01       82 阅读
  4. Python语言-面向对象

    2024-01-12 02:40:01       91 阅读

热门阅读

  1. 【前端】vue3打包命令 ,Vue2与Vue3 的命令区别

    2024-01-12 02:40:01       47 阅读
  2. Docker 有什么优势?

    2024-01-12 02:40:01       53 阅读
  3. 【js】js数组对象去重:

    2024-01-12 02:40:01       62 阅读
  4. LeetCode 2651. 计算列车到站时间

    2024-01-12 02:40:01       57 阅读
  5. flask web学习之表单(一)

    2024-01-12 02:40:01       54 阅读
  6. 力扣289. 生命游戏

    2024-01-12 02:40:01       46 阅读
  7. 数学建模 | 一文读懂:支持向量机(matlab源码)

    2024-01-12 02:40:01       57 阅读
  8. CAS-ABA问题编码实战

    2024-01-12 02:40:01       62 阅读