2.动画与角色蓝图设置

在此步骤中,我们将设置角色和动画蓝图,以决定如何将玩法混合到Sequencer的插槽动画。

Windows
MacOS
Linux

在这一步中,我们将设置动画蓝图,以制作游戏动作并混合到关卡序列定义的插槽动画。

  1. 内容浏览器 中找到并打开 UE4ASP_HeroTPP_AnimBlueprint,然后双击 我的蓝图(My Blueprint) 窗口中的 动画图表(AnimGraph)

GameBlend_04.png

  1. 动画图表(AnimGraph) 中关闭已有的 运动(Locomotion) 状态机,创建 New Save Cached Pose 并将其命名为 运动缓存(lococache)

GameBlend_05.png

  1. 使用两次 运动缓存(lococache),将其中一个连接到 混合(Blend) 节点的 A 引脚,它会向 最终动画动作(Final Animation Pose) 馈送数据。

GameBlend_06.png

  1. 对于另一个 运动缓存(lococache),使用 插槽(Slot) 节点并将其连接到 混合(Blend) 节点的 B 引脚,然后右键单击 Alpha提升为变量(Promote to Variable),并将其命名为 混合插值(Blend Interp)

GameBlend_07.png

  1. 内容浏览器 中打开 Ue4ASP_Character 蓝图,然后将 下蹲(Crouching) 片段替换为下图。

GameBlend_08.png

上面我们将 输入动作下蹲(InputAction Crouch) 节点替换为 C 键盘事件和 Flip Flop 节点,以切换下蹲状态。

  1. 创建新的 浮点(Float) 变量,将其命名为 DefaultSlotInterp,并将 实例可编辑(Instance Editable)公开给过场动画(Expose to Cinematics) 设置为 True

GameBlend_09.png

我们将在Sequencer中使用这个变量来进行混合,并将值传递给处理实际混合的动画蓝图变量 混合插值(Blend Interp)

  1. 创建名为 SetDefaultSlotInterp 的新函数,然后在 细节(Details) 面板上添加 输入(Input),将其命名为 浮点(Float) 类型的 插值(Interp)

GameBlend_10.png

通过创建名为 Set (Property Value Name) 的函数,我们创建了一个 代理(Proxy) 函数,只要关联的属性值发生变化,它就会被Sequencer调用。 这个函数只在属性值更改时被调用,与使用 事件Tick自定义事件时间轴 相比,能更高效地反映 DefaultSlotInterp 属性值的更改。

  1. 组件(Components) 窗口中,拖入 网格体,并使用 获取动画实例(Get Anim Instance)投射到UE4ASP_HeroTPP_AnimBlueprint

GameBlend_11.png

  1. 关闭 As UE4ASP Hero TPP Anim Blueprint,使用 设置混合插值(Set Blend Interp),并将 插值(Interp) 的数值传递到 混合插值(Blend Interp)

GameBlend_12.png

每当通过Sequencer更改 默认插槽插值(DefaultSlotInterp) 的数值时,将调用 SetDefaultSlotInterp 代理函数,并将浮点值传递给动画蓝图的 混合插值(Blend Interp) 数值,进而影响动作的混合效果。

Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback