Language:
Page Info
Engine Version:
Share
此中文页面内容对应的英文页面有后续更新,如需浏览最新文档可切换至英文页面浏览。

AnimDynamics

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

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

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

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

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

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

下图即为使用 AnimDynamics 的链条:

AnimDynamicsChain.gif

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

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

AnimDynamicsVisualization.png

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

AnimDynamicsaAngular.png

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

Details 面板中的 SetupConstraint 部分为 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)

应用转换后的最终姿态。

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