AnimGraph

用于采样、混合和操控姿势的图表,通过动画蓝图将此类姿势应用到骨架网格体。

Windows
MacOS
Linux

AnimGraph 用于评估当前帧的骨架网格体最终姿势。默认情况下, 所有动画蓝图都有AnimGraph,可在其中放入动画节点 以采样动画序列,使用骨架控制执行动画混合或控制骨骼变形。 之后,逐帧将结果姿势应用到骨架网格体。

AnimGraph

在AnimGraph中,可使用 EventGraph 或其他位置(如代码)中计算出来的值, 作为混合空间或其他混合节点的输入。当然,也可直接采样动画序列, 而无需特殊混合。利用AnimGraph还可使用 骨架控制直接修改骨骼位置、旋转和缩放。

执行流

所有图表的执行流均显示为图表节点上执行引脚间的脉冲链接。对于 常规图表,如蓝图的EventGraph,由于此流依赖于事件触发, 因此其将在运行期间显示。由于执行流不基于事件,而逐帧评估,因此 AnimGraph的不同在于其始终显示执行流。

混合 - Alpha 0.0(w:720)

在AnimGraph中,执行流代表姿势从节点传递到另一节点。部分 节点(如混合)有多个输入, 可内部决定属于当前执行流一部分的输入。此决定通常取决于 外部输入,如传递给数据引脚的值。

在以下范例中,上文中的同一混合节点根据Alpha引脚的值(通常手动设置), 在其输入间切换执行流:

混合 - Alpha 1.0

与Alpha 1.0混合 - 使用输入B

使用AnimGraph

AnimGraph通过计算节点图表进行工作。部分节点在一个或多个输入姿势上执行特定操作, 而其他节点则用于获取或采样其他类型资源(如动画序列、混合空间 或动画蒙太奇)。状态机包含自身图表网络,可存在于AnimGraph中,多个状态机则可混合起来生成最终输出姿势。 请参考以下所有链接,了解在AnimGraph情境下的作用。

  • 动画混合 - 使用不同混合节点进行完成。

  • 动画节点 - 用于在输入姿势上执行如混合、直接骨骼操控等操作。

  • 动画序列 - 可直接放入AnimGraph中驱动最终动画姿势。

  • 混合空间 - 可在AnimGraph中使用,以基于变量混合姿势。

  • 骨架控制 - 可直接用于驱动骨架内骨骼的节点。

  • 空间转换 - 可切换姿势在局部空间或组件空间内的节点。

  • 状态机 - 是一系列图表、规则和变量,可决定角色要进入的动画状态。

  • 同步组 - 可用于保留已同步不同长度的相关动画。

线程安全

可使用“类默认值(Class Defaults)”中的“使用多线程动画更新(Use Multi-Threaded Animation Update)”设置,在工作线程上运行AnimGraph逻辑。利用此操作, 动画工作可与其他更新并行完成, 从而极大改善多核机器的游戏性能。

启用该设置(默认启用)后,在AnimGraph中执行“不安全”操作时,编译器将发出警告。通常来说, 安全操作包括:

  • 使用多数AnimGraph节点。

  • 直接访问动画蓝图的成员变量(包括结构成员)。

  • 调用不会修改状态的蓝图“纯”函数(如多数数学函数)。

Select Skin
Light
Dark

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

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

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

发表反馈意见