创建约束时,您可以从
“创建刚体约束选项”(Create Rigid Body Constraint Options)窗口的
“约束类型”(Constraint Type)列表中选择其类型。创建约束后,可以通过从 bulletRigidBodyConstraintShape 节点
“属性编辑器”(Attribute Editor)的
“约束类型”(Constraint Type)列表中选择一个类型来更改约束的类型。
从以下约束类型中进行选择:
点(Point)
“点”(Point)约束(在 Bullet Physics 库中称为点到点约束)可限制平移,以便两个刚体之间的枢轴点在世界空间中相匹配。您可以使用“点”(Point)约束创建一些效果(如链条)或将对象固定在一起。
“点”(Point)约束支持以下属性:
铰链(Hinge)
“铰链”(Hinge)约束可限制平移和其他两个角度自由度,因此实体仅可以绕一个轴旋转。铰链轴由约束的 Z 轴定义。此约束可用于表示绕轴旋转的门或轮子。用户可以为铰链指定限制和马达设置。
“铰链”(Hinge)约束支持以下属性:
-
角度限制柔和度(Angular Limit Softness)
-
角度限制偏移(Angular Limit Bias)
-
角度限制松弛(Angular Limit Relaxation)
-
角度约束最小值 Z(Angular Constraint Min Z)
-
角度约束最大值 Z(Angular Constraint Max Z)
- 已启用角度马达(Angular Motor Enabled)(打开和关闭 Z 轴马达。)
- 角度马达目标速度(Angular Motor Target Speed)(指定 Z 轴目标速度。)
- 角度马达最大力(Angular Motor Max Force)(指定在单个模拟步骤中可应用于 Z 轴的最大马达冲量。)
滑块(Slider)
“滑块”(Slider)约束允许刚体绕一个轴旋转并沿同一轴平移。滑动轴由约束的 Z 轴定义。
“滑块”(Slider)约束支持以下属性:
-
线性阻尼(Linear Damping)
-
线性柔和度(Linear Softness)
-
线性恢复(Linear Restitution)
-
线性限制偏移(Linear Limit Bias)
-
线性限制柔和度(Linear Limit Softness)
-
线性限制松弛(Linear Limit Relaxation)
-
线性约束最小值 X(Linear Constraint Min X)
-
线性约束最大值 X(Linear Constraint Max X)
- 已启用线性马达(Linear Motor Enabled)(在 X 轴上打开和关闭马达。)
- 线性马达目标速度(Linear Motor Target Speed)(指定马达的目标速度。仅使用 X 字段。)
- 线性马达最大力(Linear Motor Max Force)(指定最大马达冲量。仅使用 X 字段。)
-
角度阻尼(Angular Damping)
-
角度柔和度(Angular Softness)
-
角度恢复(Angular Restitution)
-
角度限制柔和度(Angular Limit Softness)
-
角度限制偏移(Angular Limit Bias)
-
角度限制松弛(Angular Limit Relaxation)
-
角度约束最小值 X(Angular Constraint Min X)
-
角度约束最大值 X(Angular Constraint Max X)
- 已启用角度马达(Angular Motor Enabled)(在 X 轴上打开和关闭马达。)
- 角度马达目标速度(Angular Motor Target Speed)(仅使用 X 值。)
- 角度马达最大力(Angular Motor Max Force)(仅使用 X 值。)
圆锥体扭曲(Cone-Twist)
对于布偶,
“圆锥体扭曲”(Cone-Twist)约束可用于上臂等肢体。这是一个特殊的点到点约束,可添加圆锥体和扭曲轴限制。X 轴用作扭曲轴。
“圆锥体扭曲”(Cone-Twist)约束支持以下属性:
-
角度阻尼(Angular Damping)
-
角度限制柔和度(Angular Limit Softness)
-
角度限制偏移(Angular Limit Bias)
-
角度限制松弛(Angular Limit Relaxation)
- 角度约束最大值 X(Angular Constraint Max X)(以度为单位指定扭曲跨度角度。)
- 角度约束最大值 Y(Angular Constraint Max Y)(以度为单位指定摆动跨度 2 角度。)
- 角度约束最大值 Z(Angular Constraint Max Z)(以度为单位指定摆动跨度 1 角度)。
- 已启用角度马达(Angular Motor Enabled)(在 X 轴上打开和关闭马达。)
-
角度马达最大力 X(Angular Motor Max Force X)
六个自由度(Six Degrees-of-Freedom)
“六个自由度”(Six Degrees-of-Freedom)(SixDOF) 约束可以模拟各种标准约束,前提是配置了六个自由度 (DOF) 中的每个自由度。前 3 个 DOF 轴是表示刚体平移的线性轴,而后 3 个 DOF 轴表示角度运动。每个轴均可锁定、自由或受限制。默认情况下,所有轴都已解锁。
“六个自由度”(Six Degrees-Of-Freedom)约束支持以下属性:
-
线性阻尼(Linear Damping)
-
线性柔和度(Linear Softness)
-
线性恢复(Linear Restitution)
-
线性约束(Linear Constraint)
-
线性约束最小值(Linear Constraint Min)
-
线性约束最大值(Linear Constraint Max)
-
已启用线性马达(Linear Motor Enabled)
-
线性马达目标速度(Linear Motor Target Speed)
-
线性马达最大力(Linear Motor Max Force)
-
角度阻尼(Angular Damping)
-
角度柔和度(Angular Softness)
-
角度恢复(Angular Restitution)
-
角度约束(Angular Constraint)
-
角度约束最小值(Angular Constraint Min)
-
角度约束最大值(Angular Constraint Max)
-
已启用角度马达(Angular Motor Enabled)
-
角度马达目标速度(Angular Motor Target Speed)
-
角度马达最大力(Angular Motor Max Force)
弹簧铰链(Spring Hinge)
“弹簧铰链”(Spring Hinge)有三个自由度。这些自由度包括绕 Z 轴(轴 1)和 X 轴(轴 2)的两个旋转自由度、沿 Z 轴(轴 1)的一个平移,以及一个悬挂弹簧。“弹簧铰链”(Spring Hinge)约束的一个用例是汽车的方向盘,其中一个轴允许轮子转向,而另一个轮子允许旋转。在此情况下,您需要在 X 轴上将弹簧铰链旋转 -90 度,使轴 1 与 Y 轴对齐。
“弹簧铰链”(Spring Hinge)约束具有用于轴 2 的锚点,由约束的位置指定。轴 1 相对于实体 1 指定。如果实体 1 是底盘,这将为转向轴。轴 2 相对于实体 2 指定,并且垂直于轴 1(沿 X 轴)。如果实体 2 是轮子,这将为轮轴。轴 1(沿 Z 轴)可以具有弹簧以及角度和线性限制,但轴 2(沿 X 轴)是自由的。您不能同时启用弹簧和马达。如果要驱动轴 2,请修改实体 2 的 X 扭矩冲量。
“弹簧铰链”(Spring Hinge)约束支持以下属性:
-
线性约束(Linear Constraint)
-
线性约束最小值 Z(Linear Constraint Min Z)
-
线性约束最大值 Z(Linear Constraint Max Z)
-
已启用线性弹簧(Linear Spring Enabled)
-
线性弹簧刚度(Linear Spring Stiffness)
-
线性弹簧阻尼(Linear Spring Dampening)
-
角度约束(Angular Constraint)
-
角度约束最小值 Z(Angular Constraint Min Z)
-
角度约束最大值 Z(Angular Constraint Max Z)
-
已启用角度弹簧(Angular Spring Enabled)
-
角度弹簧刚度(Angular Spring Stiffness)
-
角度弹簧阻尼(Angular Spring Dampening)
弹簧六个自由度(Spring Six Degrees-Of-Freedom)
“弹簧六个自由度”(Spring Six Degrees-Of-Freedom)(SpringSixDOF) 约束是“六个自由度”(Six Degrees-of-Freedom)约束的变量,其中包含为每个自由度添加的弹簧。在此约束上不能组合弹簧和马达。
“弹簧六个自由度”(Spring Six Degrees-Of-Freedom)约束支持以下属性:
-
线性约束(Linear Constraint)
-
线性约束最小值(Linear Constraint Min)
-
线性约束最大值(Linear Constraint Max)
-
已启用线性弹簧(Linear Spring Enabled)
-
线性弹簧刚度(Linear Spring Stiffness)
-
线性弹簧阻尼(Linear Spring Dampening)
-
角度约束(Angular Constraint)
-
角度约束最小值(Angular Constraint Min)
-
角度约束最大值(Angular Constraint Max)
-
已启用角度弹簧(Angular Spring Enabled)
-
角度弹簧刚度(Angular Spring Stiffness)
-
角度弹簧阻尼(Angular Spring Dampening)