物理引擎包括以下 Constraints ,可以施加力或扭矩以移动一个或多个装配件。此外,还有各种机械限制,它们以概念机械连接的形式存在,包括铰链、弹簧、绳索等。
约束视觉化
要准确地在 Studio 中视觉化约束,您可以使用工具栏的 模型 选项:


显示焊点 — 显示 WeldConstraints,与其他约束的视觉化分开。

约束详情 — 显示非焊接约束的完整视觉细节。

缩放 — 视觉化的相对缩放。
创建约束
移动约束通常连接一个或两个 Attachments 或 Bones。当连接到 Bones 时,约束将使用其动画位置和方向。
要创建移动限制,您可以使用 创建 工具或 探索器 窗口。
在 模型 选项卡中,访问 创建 按钮的选择器菜单,选择所需的约束类型,例如 角度速度 。
在 3D 视窗中,将鼠标悬停在任何 Part 或 MeshPart 上,然后单击以在可视化点添加新的 Attachment 到零件。或者,将鼠标悬停在上面并单击现有的 Attachment 或 Bone 来使用它作为约束。
物理模拟
若要模拟物理学,当 移动 或 旋转 零件时,您可以切换到 Studio 工具栏中的 物理 模式,有效强制零件遵守物理限制。例如,如果你拖动一个部件在场景周围并与另一部件碰撞,它将物理地把那部分推出路外。

遗产移动器转换
如果您的体验依赖于遗产 BodyMover -基于约束,转换到现代移动约束时,请查看以下注释。
AlignPosition 满足大多数由过时的 BodyPosition 移动器涵盖的使用案例。要与遗产移动器如何独立地对每个组件进行处理并允许沿每个维度提供不同力量相同步,ForceLimitMode 属性的 AlignPosition 允许约束在 Magnitude 模式或 PerAxis 模式运行:
在 PerAxis 模式下,每个轴上的力可以独立地指定。因为最大力被指定为向量,因此力的参考框架也可以通过 属性、 和 选项来指定。此外,内部控制器的配方被修改以匹配 BodyPosition 的配方。
AlignOrientation 满足大多数由过时的 BodyGyro 移动器涵盖的使用案例。AlignType 模式的 AlignOrientation 为大多数应用程序提供足够的自由,多个约束的组合可以重复向量扭矩限制。此外,PrimaryAxisLookAt强制约束的第一次附加(Attachment0轴始终指向第二次附加(Attachment1轴,使添加如动作跟踪安全摄像头或引导导弹等东西变得更容易。
LinearVelocity 满足大多数由过时的 BodyVelocity 移动器涵盖的使用案例。虽然遗产移动器允许一个 MaxForce 向量,但典型应用程序的那个向量力是将特定组件零化,以允许约束在该维度上被禁用。 通过在不同的 模式下运行来实现类似效果,这些模式对应于一个(》)、两个(》)和三个(》)维度。
此外,具有 ForceLimitMode 选项的 PerAxis 属性可容纳任何使用向量力的应用程序,例如增加沿单个轴的力来抵消重力。
虽然 AngularVelocity 与过时的 BodyAngularVelocity 移动器存在一些差异,但与这些差异相关的特定情况尚未被社区或内部高亮,也没有被社区或内部标记。
作为单独的改进, 与 和 属性一起工作,例如 或 ,您可以指定力在哪里指定,例如 或 。
VectorForce 满足所有被淘汰的 BodyForce 和 BodyThrust 移动器提供的使用案例。现代约束与 Attachments 和其 RelativeTo 属性一起工作,可以让你对中心相对偏移施加力,与 BodyThrust.Location 类似的方式。
由 LineForce 和 AlignOrientation 组成的组合满足了大多数由过时的 RocketPropulsion 移动器涵盖的使用案例。在引导导弹的例子中,LineForce 可用于控制 RocketPropulsion 的“跟随目标”行为,而 AlignOrientation 和其 LookAtPosition 属性可用于控制“面目标”行为。