创建约束时,您可以从“创建刚体约束选项”(Create Rigid Body Constraint Options)窗口的“约束类型”(Constraint Type)列表中选择其类型。创建约束后,可以通过从 bulletRigidBodyConstraintShape 节点“属性编辑器”(Attribute Editor)的“约束类型”(Constraint Type)列表中选择一个类型来更改约束的类型。
从以下约束类型中进行选择:
点(Point)
铰链(Hinge)
滑块(Slider)
圆锥体扭曲(Cone-Twist)
六个自由度(Six Degrees-of-Freedom)
弹簧铰链(Spring Hinge)
弹簧 6 个自由度(Spring Six Degrees-of-Freedom)
点(Point)
“点”(Point)约束(在 Bullet Physics 库中称为点到点约束)可限制平移,以便两个刚体之间的枢轴点在世界空间中相匹配。您可以使用“点”(Point)约束创建一些效果(如链条)或将对象固定在一起。
“点”(Point)约束支持以下属性:
角度阻尼(Angular Dampening)
铰链(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)