Version: 2023.2

ConfigurableJoint

class in UnityEngine

/

继承自:Joint

切换到手册

描述

可配置关节是非常灵活的关节,可使您完全控制旋转和线性运动。

您可以使用它来构建其他所有关节且远不止于此,但其设置也更加复杂。 它可使您控制每个旋转轴的电机、驱动方式和关节限制,以及线性自由度。

变量

angularXDrive定义该关节的旋转围绕其本地 X 轴的行为方式。仅在 Rotation Drive Mode 为 Swing & Twist 时使用。
angularXLimitSpring弹簧配置,该弹簧附加于此关节的角度 X 限制。
angularXMotion根据 Low 和 High Angular XLimit,允许围绕 X 轴的旋转为 Free、完全 Locked 或 Limited。
angularYLimit定义旋转限制的边界,基于从原始旋转开始的增量。
angularYMotion根据 Angular YLimit,允许围绕 Y 轴的旋转为 Free、完全 Locked 或 Limited。
angularYZDrive定义该关节的旋转围绕其本地 Y 轴和 Z 轴的行为方式。仅在 Rotation Drive Mode 为 Swing & Twist 时使用。
angularYZLimitSpring弹簧配置,该弹簧附加于此关节的角度 Y 和角度 Z 限制。
angularZLimit定义旋转限制的边界,基于从原始旋转开始的增量。
angularZMotion根据 Angular ZLimit,允许围绕 Z 轴的旋转为 Free、完全 Locked 或 Limited。
configuredInWorldSpace如果启用,则所有 Target 值都将在世界空间计算,而不是在该对象的本地空间中计算。
highAngularXLimit定义旋转上限的边界,基于从原始旋转开始的增量。
linearLimit定义移动限制的边界,基于与该关节原点的距离。
linearLimitSpring弹簧配置,该弹簧附加于此关节的线性限制。
lowAngularXLimit定义旋转下限的边界,基于从原始旋转开始的增量。
projectionAngle设置投影的角度公差阈值(单位为度)。如果关节围绕其锁定角度的自由度,其偏离值超过此角度, 则解算器将移动这些身体,以便接近此角度。设置极小的公差可能会导致模拟抖动或其他瑕疵。有时无法进行投影(例如在这些关节形成一个圆形时)。
projectionDistance设置投影的线性公差阈值(单位为度)。如果沿着锁定的自由度此关节分离距离超过此距离,则解算器 将移动这些身体,以便接近此距离。设置极小的公差可能会导致模拟抖动或其他瑕疵。有时无法进行投影(例如在这些关节形成一个圆形时)。
projectionMode即使解算器失败,也会重新对齐违反的约束。投影不是物理过程,不会保持动量或遵循碰撞几何结构。如果可行,最好避免这种情况,但在关节分离会导致不可接受的瑕疵时,这有助于提高模拟品质。
rotationDriveMode使用 X 和 YZ 或 Slerp Drive 本身控制该对象的旋转。
secondaryAxis该关节的副轴。
slerpDrive定义该关节的旋转围绕所有本地轴的行为方式。仅在 Rotation Drive Mode 为 Slerp Only 时使用。
swapBodiesEnable this property to swap the order in which the physics engine processes the Rigidbodies involved in the joint. This results in different joint motion but has no impact on Rigidbodies and anchors.
targetAngularVelocity这是一个 Vector3。它定义该关节应达到的目标旋转角速率。
targetPosition应将该关节移动到的目标位置。
targetRotation这是一个 Quaternion。它定义该关节应达到的目标旋转位置。
targetVelocity该关节移动的目标速度方向。
xDrive定义关节移动沿其本地 X 轴的行为方式。
xMotion根据 Linear Limit,允许沿 X 轴的移动为 Free、完全 Locked 或 Limited。
yDrive定义关节移动沿其本地 Y 轴的行为方式。
yMotion根据 Linear Limit,允许沿 Y 轴的移动为 Free、完全 Locked 或 Limited。
zDrive定义关节移动沿其本地 Z 轴的行为方式。
zMotion根据 Linear Limit,允许沿 Z 轴的移动为 Free、完全 Locked 或 Limited。

继承的成员

变量

gameObject此组件附加到的游戏对象。始终将组件附加到游戏对象。
tag此游戏对象的标签。
transform附加到此 GameObject 的 Transform。
anchor约束关节运动的锚点的位置。
autoConfigureConnectedAnchor是否应自动计算 /connectedAnchor/?
axis约束身体的轴的方向。
breakForce为使此关节断开而需要施加的力。
breakTorque为破坏此关节而需要施加的扭矩。为了能够断开,必须将关节_锁定_或_限制_到施加扭矩的旋转轴上。这意味着一些关节不能断开,例如无约束的可配置关节 (Configurable Joint)。
connectedAnchor相对于连接刚体的锚点位置。
connectedArticulationBodyA reference to an articulation body this joint connects to.
connectedBody对此关节连接到的其他刚体的引用。
connectedMassScale要在解算约束之前应用于连接身体的反向质量和惯性张量的缩放比例。
currentForce解算器为满足所有约束而施加的力。
currentTorque解算器为满足所有约束而施加的扭矩。
enableCollision启用与关节连接的身体之间的碰撞。
enablePreprocessing切换此关节的预处理。
massScale要在解算约束之前应用于身体的反向质量和惯性张量的缩放比例。
hideFlags该对象应该隐藏、随场景一起保存还是由用户修改?
name对象的名称。

公共函数

BroadcastMessage调用此游戏对象或其任何子项中的每个 MonoBehaviour 上名为 methodName 的方法。
CompareTagChecks the GameObject's tag against the defined tag.
GetComponentGets a reference to a component of type T on the same GameObject as the component specified.
GetComponentInChildrenGets a reference to a component of type T on the same GameObject as the component specified, or any child of the GameObject.
GetComponentInParentGets a reference to a component of type T on the same GameObject as the component specified, or any parent of the GameObject.
GetComponentsGets references to all components of type T on the same GameObject as the component specified.
GetComponentsInChildrenGets references to all components of type T on the same GameObject as the component specified, and any child of the GameObject.
GetComponentsInParentGets references to all components of type T on the same GameObject as the component specified, and any parent of the GameObject.
SendMessage调用此游戏对象中的每个 MonoBehaviour 上名为 methodName 的方法。
SendMessageUpwards调用此游戏对象中的每个 MonoBehaviour 上或此行为的每个父级上名为 methodName 的方法。
TryGetComponent获取指定类型的组件(如果存在)。
GetInstanceIDGets the instance ID of the object.
ToString返回对象的名称。

静态函数

Destroy移除 GameObject、组件或资源。
DestroyImmediate立即销毁对象 /obj/。强烈建议您改用 Destroy。
DontDestroyOnLoad在加载新的 Scene 时,请勿销毁 Object。
FindAnyObjectByTypeRetrieves any active loaded object of Type type.
FindFirstObjectByTypeRetrieves the first active loaded object of Type type.
FindObjectsByTypeRetrieves a list of all loaded objects of Type type.
Instantiate克隆 original 对象并返回克隆对象。

运算符

bool该对象是否存在?
operator !=比较两个对象是否引用不同的对象。
operator ==比较两个对象引用,判断它们是否引用同一个对象。

消息

OnJointBreak在附加到相同游戏对象的关节断开时调用。