UE4_动画基础_ 使用分层动画(Using Layered Animations)

本文详细介绍了如何在虚幻引擎4中为角色制作移动过程中的武器发射动画,包括设置动画蒙太奇、关联骨架、创建脚本信号和调整动画图表,使角色能边跑边射击或蹲下射击。

完成在移动过程中武器发射的角色制作!

动画混合仅仅意味着在一个角色或骨架网格体上的两个或多个动画之间进行平滑过渡。在虚幻引擎4中,有多种方法可以应用这种混合,要么通过混合空间,或通过实际组合两个基于加权偏差或alpha值的动画的叠加方法,甚至通过应用现有姿势的直接覆盖。

您还可以直接将动画发送到骨架中的特定骨骼及其所有子项。例如,您可以从包含一个正在奔跑的角色的动画开始,然后有选择地向角色上身应用一个射击动画。最终的结果将是一个可以边奔跑边射击的角色,类似于下面的图片:

完成步骤:

一、设置要混合的动画

在此步骤中,我们要更改默认玩家角色,并为我们想要在移动动画上叠加的动画层创建一个动画蒙太奇。

您可以从Epic Launcher的 市场(Marketplace) 免费下载动画初学者包。

1、打开项目后,在 内容浏览器(Content Browser) 中的 Content/ThirdPersonBP/Blueprints 文件夹下,打开 第三人称游戏模式(ThirdPersonGameMode) 蓝图。

2、在 默认Pawn类(Default Pawn Class) 下,单击下拉菜单并选择 Ue4ASP_Character

编译(Compile) 并 保存(Save),然后关闭蓝图。

3、在 内容浏览器(Content Browser) 中,打开 Content/AnimStarterPack 文件夹。右键单击 Fire_Shotgun_Ironsights 动画,选择 创建(Create),然后选择 创建动画蒙太奇(Create AnimMontage)

4、打开该新动画蒙太奇。

在按名称调用插槽时,我们可以使用这个 插槽(Slot) 进行混合。我们可以通过动画插槽管理器对插槽进行操作。

单击 添加插槽(Add

### Layered Blend Per Done 的使用方法 在 Unreal Engine 5 的动画蓝图中,`Layered Blend Per Done` 是一个用于动画层混合的节点,其核心功能是根据动画是否完成播放来切换动画层。这一特性使得动画过渡可以更加自然,无需手动设置布尔变量或混合时间[^1]。 该节点通常用于状态机内部,允许开发者将多个动画状态连接到节点的输入端口,每个端口代表一个动画层,并按照顺序依次播放。当当前动画播放完成时,系统会自动过渡到下一个动画层。 ### 动画播放完成的判定 动画播放完成的判定依赖于动画序列的 `bLooping` 属性。如果动画设置为循环播放,则 `Done` 状态不会触发;如果动画为非循环,则播放完成后会触发 `Done` 事件。因此在使用该节点时,务必检查动画序列的循环设置是否符合预期[^1]。 ### 动画蓝图中 Layered Blend Per Done 的配置 在动画蓝图中,可以通过以下方式配置 `Layered Blend Per Done` 节点: 1. 在动画蓝图的 `AnimGraph` 中添加 `Layered Blend Per Done` 节点。 2. 将多个动画状态连接到该节点的输入端口。 3. 设置每个动画的播放顺序,并配置混合时间(Blend Time)以实现平滑过渡。 ```cpp // 伪代码表示动画层混合逻辑 if (CurrentAnimation.IsDone()) { BlendToNextLayer(NextAnimation, BlendTime); } ``` 此逻辑确保动画在完成播放后自动切换到下一个动画层,适用于角色动作连贯性控制、过场动画等场景。 ### 常见问题与注意事项 - **动画未触发 Done 事件**:检查动画序列的 `bLooping` 设置,确保动画为非循环状态。 - **混合过渡不平滑**:调整 `Blend Time` 参数,使其与动画节奏匹配。 - **层顺序错误**:确保动画层的连接顺序正确,否则可能导致动画播放顺序混乱。 - **性能优化**:过多的动画层叠加可能影响性能,建议合理控制动画层的数量。 ### 与其他动画混合方式的区别 与 `Blend Space` 不同,`Layered Blend Per Done` 更侧重于基于动画完成状态的层切换,而 `Blend Space` 通常用于基于参数(如速度、方向)的动画混合。两者可以结合使用,以实现更复杂的动画控制逻辑[^1]。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Growthofnotes

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值