可配置关节包含其他关节类型的所有功能,并提供更强大的角色运动控制。当想要自定义布娃娃的运动并对角色强制实施某些姿势时,这种关节特别有用。使用可配置关节还可以将关节修改为您自行设计的高度专业化关节。
| 属性 | 功能 | |
|---|---|---|
| Edit Angular Limits | 在场景视图中添加视觉辅助图标以帮助编辑关节角度限制。要使用此辅助图标,请将角度 X、Y、Z 运动 (Angular X, Y, Z Motion) 设置为限制 (Limited),然后就会出现用于拖动和调整关节旋转空间的控制柄。 | |
| Connected Body | 关节连接到的刚体对象。可将此属性设置为 None 来表示关节连接到空间中的固定位置,而不是另一个刚体。 | |
| Connected Articulation Body | 对关节所依赖的接合体的引用(可选)。如果未设置,则关节连接到世界。 | |
| Anchor | 用于定义关节中心的点。所有基于物理的模拟都使用此点作为计算中的中心。 | |
| Axis | 用于基于物理模拟来定义对象自然旋转的局部轴。 | |
| Auto Configure Connected Anchor | 启用此设置会自动计算连接锚点的位置,以便与锚点属性的全局位置匹配。这是默认设置。禁用此设置可以手动配置连接锚点的位置。 | |
| Connected Anchor | 手动配置连接锚点位置。 | |
| Secondary Axis | Axis 和 Secondary Axis 定义了关节的局部坐标系。第三个轴与另外两个轴正交。 | |
| X, Y, Z Motion | 根据以下描述的限制属性,将沿 X、Y 或 Z 轴的运动设置为 Free、完全 Locked 或 Limited。 | |
| Angular X, Y, Z Motion | 根据以下描述的限制属性,将沿 X、Y 或 Z 轴的旋转设置为 Free、完全 Locked 或 Limited。 | |
| Linear Limit Spring | 当对象超过了限制位置时施加弹簧力以拉回对象。 | |
| Spring | 弹簧力。如果此值设置为零,则无法逾越限制。零以外的值将使限制变得有弹性。 | |
| Damper | 根据关节运动的速度按比例减小弹簧力。设置为大于零的值可让关节“抑制”振荡(否则将无限期进行振荡)。 | |
| Linear Limit | 设置关节线性运动的限制(即距离运动而不是旋转运动),指定为距关节原点的距离。 | |
| Limit | 从原点到限制位置的距离(采用世界单位)。 | |
| Bounciness | 设置当对象达到限制距离时要将对象拉回而施加的弹力。 | |
| Contact Distance | 需要强制执行限制时,关节位置和限制位置之间的最小距离公差。公差越大,对象快速运动时突破限制的可能性就越低。但是,这种情况下需要物理模拟更频繁地考虑限制,并会略微降低性能。 | |
| Angular X Limit Spring | 当对象超过了关节的限制角度时施加弹簧扭矩以反向旋转对象。 | |
| Spring | 弹簧扭矩。如果此值设置为零,则无法逾越限制。设置为零以外的值将使限制变得有弹性。 | |
| Damper | 根据关节旋转的速度按比例减小弹簧扭矩。设置为大于零的值可让关节“抑制”振荡(否则将无限期进行振荡)。 | |
| Low Angular X Limit | 关节绕 x 轴旋转的下限,指定为距关节原始旋转的角度。 | |
| Limit | 限制角度。 | |
| Bounciness | 设置当对象的旋转达到限制角度时要在对象上施加的反弹扭矩。 | |
| Contact Distance | 需要强制执行限制时的最小角度公差(关节角度和限制位置之间)。公差越大,对象快速运动时违反限制的可能性就越低。但是,这种情况下需要物理模拟更频繁地考虑限制,并会略微降低性能。 | |
| High Angular XLimit | 类似于上述 Low Angular X Limit 属性,但确定的是关节旋转的角度上限,而不是下限。 | |
| Angular YZ Limit Spring | 类似于上述 Angular X Limit Spring,但适用于围绕 Y 轴和 Z 轴的旋转。 | |
| Angular Y Limit | 类似于上述 Angular X Limit 属性,但会将限制应用于 Y 轴,并将角度上限和下限视为相同。 | |
| Angular Z Limit | 类似于上述 Angular X Limit 属性,但会将限制应用于 Z 轴,并将角度上限和下限视为相同。 | |
| Target Position | 关节的驱动力移动到的目标位置。 | |
| Target Velocity | 关节在驱动力下移动到目标位置时所需的速度。 | |
| XDrive | 根据 Position Spring 和 Position Damper 驱动扭矩,设置 Unity 用于使关节绕其局部 X 轴旋转的力。Maximum Force 参数用于限制力的最大大小。仅当 Rotation Drive Mode 属性设置为 X & YZ 时,才可使用此属性。有关更多信息,请参阅下面的驱动力部分。 | |
| Position Spring | 由 Unity 用于将关节从当前位置向目标位置旋转的弹簧扭矩。 | |
| Position Damper | 根据关节当前速度与目标速度之间的差值按比例减小弹簧扭矩量。此做法可降低关节运动速度。设置为大于零的值可让关节“抑制”振荡(否则将无限期进行振荡)。 | |
| Maximum Force | 限制可以施加的驱动力大小。要施加计算出的驱动力,请将此属性设置为不太可能计算的驱动高值。 | |
| Use Acceleration | 激活以使驱动类型为加速度驱动而不是力驱动。 | |
| YDrive | 类似于上述 X Drive,但适用于关节的 Y 轴。 | |
| ZDrive | 类似于上述 X Drive,但适用于关节的 Z 轴。 | |
| Target Rotation | 关节旋转驱动应朝向的方向,指定为四元数。除非设置了 Swap Bodies 参数(在这种情况下,目标旋转相对于连接主体的锚点),否则目标旋转相对于关节连接到的主体。 | |
| Target Angular Velocity | 关节的旋转驱动达到的目标角速度。此属性指定为矢量。矢量的长度指定旋转速度,而其方向定义旋转轴。 | |
| Rotation Drive Mode | 设置 Unity 如何将驱动力应用于对象以将其旋转到目标方向。如果将该模式设置为 X and YZ,则会围绕这些轴施加扭矩(由下述 Angular X/YZ Drive 属性指定)。如果使用 Slerp 模式,则 Slerp Drive 属性用于确定驱动扭矩。 | |
| Angular X Drive | 此属性指定了驱动扭矩如何使关节围绕局部 X 轴旋转。仅当上述 Rotation Drive Mode 属性设置为 X & YZ 时,才可使用此属性。有关更多信息,请参阅下面的驱动力部分。 | |
| Position Spring | 由 Unity 用于将关节从当前位置向目标位置旋转的弹簧扭矩。 | |
| Position Damper | 根据关节当前速度与目标速度之间的差值按比例减小弹簧扭矩量。此做法可降低关节运动速度。设置为大于零的值可让关节“抑制”振荡(否则将无限期进行振荡)。 | |
| Maximum Force | 限制可以施加的驱动力大小。要施加计算出的驱动力,请将此属性设置为不太可能计算的驱动高值。 | |
| Use Acceleration | 激活以使驱动类型为加速度驱动而不是力驱动。 | |
| Angular YZDrive | 类似于上述 Angular X Drive,但适用于关节的 Y 轴和 Z 轴。 | |
| Slerp Drive | 此属性指定了驱动扭矩如何使关节围绕所有局部轴旋转。仅当上述 Rotation Drive Mode 属性设置为 Slerp 时,才可使用此属性。有关更多信息,请参阅下面的 Slerp Drive 部分。 | |
| Position Spring | 由 Unity 用于将关节从当前位置向目标位置旋转的弹簧扭矩。 | |
| Position Damper | 根据关节当前速度与目标速度之间的差值按比例减小弹簧扭矩量。此做法可降低关节运动速度。设置为大于零的值可让关节“抑制”振荡(否则将无限期进行振荡)。 | |
| Maximum Force | 限制可以施加的驱动力大小。要施加计算出的驱动力,请将此属性设置为不太可能计算的驱动高值。 | |
| Use Acceleration | 激活以使驱动类型为加速度驱动而不是力驱动。 | |
| Projection Mode | 此属性定义了当关节意外地超过自身约束(由于物理引擎无法协调模拟中的当前作用力组合)时如何快速恢复至约束。选项为 None 和 Position and Rotation。 | |
| Projection Distance | 关节超过约束的距离,必须超过此距离才能让物理引擎尝试将关节拉回可接受位置。 | |
| Projection Angle | 关节超过约束的旋转角度,必须超过此角度才能让物理引擎尝试将关节拉回可接受位置。 | |
| Configured in World Space | 启用此属性可以在世界空间而不是对象的本地空间中计算由各种目标和驱动属性设置的值。 | |
| Swap Bodies | 启用此属性可交换物理引擎处理关节中涉及的刚体的顺序。这会导致不同的关节运动,但对刚体和锚点没有影响。 | |
| Break Force | 如果通过大于该值的力推动关节超过约束,则关节将被永久“破坏”并删除。仅当关节的轴处于 Limited 或 Locked 状态时,破坏力才会破坏关节(请参阅下面的约束运动部分)。 | |
| Break Torque | 如果通过大于该值的扭矩旋转关节超过约束,则关节将被永久“破坏”并删除。无论关节的轴处于 Free、Limited 还是 Locked 状态,破坏扭矩都会破坏关节(请参阅下面的约束运动部分)。 | |
| Enable Collision | 启用此属性可以使具有关节的对象与相连的对象发生碰撞。如果禁用此选项,则关节和对象将相互穿过。 | |
| Enable Preprocessing | 如果禁用预处理,则关节某些“不可能”的配置将保持更稳定,而不会在失控状态下狂乱移动。 | |
| Mass Scale | 要应用于刚体反向质量和惯性张量的缩放比例,范围是从 0.00001 到无穷大。当关节连接质量相差很大的两个刚体时,这很有用。当连接的刚体具有相似的质量时,物理解算器会产生更好的结果。当连接的刚体的质量不同时,将此属性与 Connect Mass Scale 属性一起使用可施加假质量,使它们彼此大致相等。这样可以产生高质量且稳定的模拟,但会降低刚体的物理行为。 | |
| Connected Mass Scale | 要应用于连接的刚体的反向质量和惯性张量的缩放比例,范围是从 0.00001 到无穷大。 | |
ConfigurableJoint