AnimDynamics

说明 AnimDynamics 如何基于物理实现次要动画。

Choose your operating system:

Windows

macOS

Linux

AnimDynamics 节点是一个小型解算器,可基于物理实现骨骼网格体资源的次要动画。此节点可实现角色移动时项链、手镯、背包、丝线、头发、布料或其他物体的反弹或移动。

AnimDynamics 为超轻量级实现,可通过 LOD 或其他动画设置进行开关。在 AnimGraph 上进行动画处理时将进行此处理。这是一个简单快捷的解算器,因此需注意它会产生多个近似。

  • 动态骨骼只由方块代表,用于计算该部分的惯性。

  • 不计算碰撞。然而,约束可用于限制运动。

AnimDynamics 支持线性、角和平面约束。线性和角约束可由弹簧驱动,形成反弹效果;而平面约束可用于创建不相交的平面。

如可选择角色中的头端和末端骨骼,则支持链条,并将生成这些连接的链条。它的开销比单体动态骨骼大许多 - 连接约束需要被解算,因此需要更多迭代进行正确收敛。可根据每个节点配置迭代数。

下图即为使用 AnimDynamics 的链条:

AnimDynamicsChain.gif

AnimDynamics 节点的 Details 面板中勾选 Chain 框即可启用此项。

存在多个可视层,用于显示本体位置及其尺寸。

AnimDynamicsVisualization.png

下例显示的是角极限的可视化工具。

AnimDynamicsaAngular.png

选中 AnimDynamics 节点即可通过 Details 面板进行设置。

Details 面板中的 Setup Constraint 部分为 AnimDynamics 的核心应用。

SetupConstraints.png

您可在这两个部分中进行数值微调,创建所需的运动效果。 Bound Bone 是受节点影响的骨骼, Box Extents 部分用于创建容体,以产生惯性并形成运动。

例如:形成前后运动时,需要极长且较宽的方块;而形成较大量运动,运动完成后即处于某个位置时,则需要短而宽的方块。

Local Joint Offset 偏移用于附加约束,并确定形成枢轴运动的点。如将此项设为 0,则不会形成运动,因为枢轴点尚不确定。对此数值进行调整,获得所需的运动效果。

在 Constraint 部分可定义运动范围(即为可视化工具显示的运动范围)。如设为 0,则不会产生范围。输入数值后则生成运动范围。

在以下 AnimDynamics Twitch 视频中包含 AnimDynamics 的视频讲解、提示与技巧,以及 Paragon 中的使用情况。

动画蓝图 的 AnimGraph 中创建一个 AnimDynamics 节点即可快速开始。每块动态骨骼均拥有一个节点,或连续的动态链条。所有可视化、约束、主体和模拟设置在每个节点上进行。

AnimDynamicsNode.png

引脚

描述

输入引脚

External Force

勾选后,对模拟中的全部主体施加外力(在世界空间中指定)。

Component Pose

进行转换的输入姿态。

Alpha

在 [0.0, 1.0] 范围中的浮点值,用作 alpha 值,确定 SkeletalControl 应用的转换权重。数值 0.0 将为输入姿态赋予完整权重,数值 1.0 为控制器计算的转换赋予完整权重。

输出引脚

Pose (Blank)

应用转换后的最终姿态。

AnimDynamics 节点还会受到4.11版本中加入的 LOD Threshold 系统影响。您可以在 AnimDynamics 节点的 细节面板 上找到其设置。

perf.png

属性

描述

LOD阈值

这是此节点所允许运行的最大LOD。举例而言:如果将LOD阈值设为2,其将运行到LOD 2,但在组件LOD变为3时将自身禁用。

创建动态动画 指导页面中可查阅 AnimDyamics 使用的逐步实例。

欢迎帮助改进虚幻引擎文档!请告诉我们该如何更好地为您服务。
填写问卷调查
取消