动画动作快照(Animation Pose Snapshot)

动画动作快照可在蓝图中捕捉运行时骨架网格体动作,可用于在动画蓝图中混入或混出额外动作。

Windows
MacOS
Linux

设置骨架网格体的动画时,有时需要应用物理并让物理控制网格体(如角色进入布娃娃状态)。 应用物理后,使用 动画动作快照(Animation Pose Snapshot) 功能即可在 蓝图 中采集一个骨架网格体动作(保存所有骨骼变形数据)并在 动画蓝图 中获得,使用户可将保存的动作用作进行混合的源(如下方的视频范例所示)。

在上方的视频中,用户按下键时角色便进入布娃娃状态。用户使用 角色蓝图 中的 Pose Snapshot 节点保存骨架网格体的动作。 用户按下另一个键时,角色从该快照混入并播放一个“起身”动画蒙太奇,然后继续常规运动状态。 这样用户便能将角色的最终动作视为物理结果,并从该动作顺畅地混入角色起身的动画。

保存动作快照

为在运行时在 角色蓝图 中保存骨架网格体的动作,需要访问 骨架网格体组件 和其 动画实例

PoseSnapShotBlueprint.png

设置妥当后,即可调用 Save Pose Snapshot 节点并输入所需的 快照命名。 可以在 Snapshot Name 域中手动输入命名,或创建一个变量保存命名。 尝试在动画蓝图中获取动作快照时,也 必须 使用这个快照命名。

调用 Save Pose Snapshot 时,快照在当前 LOD 中采集。举例而言,如果用户在 LOD1 采集快照,然后在 LOD0 使用,那么未在 LOD1 中的所有骨骼将使用模型的参考动作。

获取动作快照

获取动作快照的方法是:在 动画蓝图AnimGraph 中点击右键并添加 Pose Snapshot 节点,然后输入 快照命名

PoseSnapShotAnimBPNode.png

下图是角色从布娃娃动作起身的使用情况范例。

PoseSnapShotAnimBP.png

上图中我们拥有一个名为 Default状态机 驱动角色运动,并使用 MySlot 节点(调用时播放角色起身动画)中的 AnimMontage。 我们使用 Blend Poses by bool 节点决定角色是否已停止移动,如为 True 则切换至动作快照。 如为 False,则从动作快照混入槽中的 AnimMontage,然后通过普通的默认状态机继续。

Snapshot Pose 函数

使用动作快照功能的另一种方法是在蓝图中调用 Snapshot Pose 函数将快照保存到 Pose Snapshot 变量。

SnapshotPose.png

使用 Snapshot Pose 时,如上所示需要提供一个变量以便保存快照。

在 AnimGraph 中添加 Pose Snapshot 节点后,在 Details 面板中将 Mode 设为 Snapshot Pin 并勾选 (As pin) Snapshot 选项。

PoseSnapshotDetails.png

这将在节点上(可将所需的快照变量传入此节点)公开一个 Pose Snapshot 输入引脚。

SnapshotPoseAnimGraph.png

附加资源

此功能在以下视频教程中也有讲述:

欢迎来到全新虚幻引擎4文档站!

我们正在努力开发新功能,包括反馈系统,以便您能对我们的工作作出评价。但它目前还未正式上线。如果您对此页面有任何意见与在使用中遭遇任何问题,请前往文档反馈论坛告知我们。

新系统上线运行后,我们会及时通知您的。

发表反馈意见