Version: 2021.3

WheelCollider

class in UnityEngine

/

继承自:Collider

切换到手册

描述

一种用于车轮的特殊碰撞体。

车轮碰撞体用于对车轮进行建模。它模拟弹簧和阻尼悬架设置, 并使用基于滑动的轮胎摩擦模型计算车轮的接触力。

通过从.center向下穿过本地 Y 轴 进行射线投射来执行车轮的碰撞检测。车轮具有.radius,并且可向下延伸 suspensionDistance 的长度。

使用 motorTorquebrakeTorquesteerAngle 属性对车轮进行控制。

车轮碰撞体使用基于滑动的摩擦模型计算摩擦力 (独立于物理引擎的其余部分)。这样可以实现更逼真的行为, 但会导致车轮碰撞体忽略标准 PhysicMaterial 设置。不同道路材质的模拟 是通过更改 forwardFrictionsidewaysFriction 实现的, 这些更改基于车轮所碰撞的材质。另请参阅:GetGroundHitWheelFrictionCurve

变量

brakeTorque制动扭矩以牛顿米表示。
center在该对象本地空间中测量的车轮中心。
forceAppPointDistance从静止车轮的底部测量的悬架和轮胎力的作用点。
forwardFriction车轮前进方向上的轮胎摩擦属性。
isGrounded指示车轮当前是否与某物发生碰撞。(只读)
mass车轮的质量(以千克为单位)。必须大于零。典型值的取值范围为 (20,80)。
motorTorque轮轴上的电机扭矩(以牛顿米表示)。根据方向,可以为正值或负值。
radius车轮的半径(在本地空间测量)。
rpm当前轮轴转速(以每分钟转数为单位)。(只读)
sidewaysFriction车轮侧向的轮胎摩擦属性。
sprungMass该 WheelCollider 支撑的质量。
steerAngle转向角度(以度为单位),始终围绕本地 Y 轴。
suspensionDistance车轮悬架的最大延伸距离(在本地空间中测量)。
suspensionExpansionLimitedLimits the expansion velocity of the Wheel Collider's suspension. If you set this property on a Rigidbody that has several Wheel Colliders, such as a vehicle, then it affects all other Wheel Colliders on the Rigidbody.
suspensionSpring车轮悬架的参数。悬架尝试通过施加线性力和阻尼力来到达目标位置。
wheelDampingRate车轮的阻尼率。必须大于零。

公共函数

ConfigureVehicleSubsteps配置车辆子步进参数。
GetGroundHit获取车轮的地面碰撞数据。
GetWorldPose获取车轮的世界空间姿态 - 考虑地面接触、悬架限制、转向角度和旋转角度(以度为单位)。
ResetSprungMassesReset the sprung masses of the vehicle.

继承的成员

变量

attachedArticulationBodyThe articulation body the collider is attached to.
attachedRigidbody碰撞体附加到的刚体。
bounds碰撞体的世界空间包围体积(只读)。
contactOffset该碰撞体的接触偏移值。
enabled启用的 Collider 将与其他 Collider 碰撞,禁用的 Collider 不会这样。
hasModifiableContactsSpecify whether this Collider's contacts are modifiable or not.
isTrigger碰撞体是不是触发器?
material碰撞体使用的材质。
sharedMaterial该碰撞体的共享物理材质。
gameObject此组件附加到的游戏对象。始终将组件附加到游戏对象。
tag此游戏对象的标签。
transform附加到此 GameObject 的 Transform。
hideFlags该对象应该隐藏、随场景一起保存还是由用户修改?
name对象的名称。

公共函数

ClosestPoint返回碰撞体上最接近给定位置的一个点。
ClosestPointOnBounds与附加碰撞体的包围盒最接近的点。
Raycast投射除这一个外忽略其他所有 Colliders 的 Ray。
BroadcastMessage调用此游戏对象或其任何子项中的每个 MonoBehaviour 上名为 methodName 的方法。
CompareTagChecks the GameObject's tag against the defined tag.
GetComponentReturns the component of type if the GameObject has one attached.
GetComponentInChildrenReturns the Component of type in the GameObject or any of its children using depth first search.
GetComponentInParentReturns the Component of type in the GameObject or any of its parents.
GetComponents返回 GameObject 中类型为 type 的所有组件。
GetComponentsInChildrenReturns all components of Type type in the GameObject or any of its children using depth first search. Works recursively.
GetComponentsInParent返回 GameObject 或其任何父项中类型为 type 的所有组件。
SendMessage调用此游戏对象中的每个 MonoBehaviour 上名为 methodName 的方法。
SendMessageUpwards调用此游戏对象中的每个 MonoBehaviour 上或此行为的每个父级上名为 methodName 的方法。
TryGetComponent获取指定类型的组件(如果存在)。
GetInstanceIDGets the instance ID of the object.
ToString返回对象的名称。

静态函数

Destroy移除 GameObject、组件或资源。
DestroyImmediate立即销毁对象 /obj/。强烈建议您改用 Destroy。
DontDestroyOnLoad在加载新的 Scene 时,请勿销毁 Object。
FindObjectOfType返回第一个类型为 type 的已加载的激活对象。
FindObjectsOfTypeGets a list of all loaded objects of Type type.
Instantiate克隆 original 对象并返回克隆对象。

运算符

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

消息

OnCollisionEnter当该碰撞体/刚体已开始接触另一个刚体/碰撞体时,调用 OnCollisionEnter。
OnCollisionExit当该碰撞体/刚体已停止接触另一个刚体/碰撞体时,调用 OnCollisionExit。
OnCollisionStayOnCollisionStay is called once per frame for every Collider or Rigidbody that touches another Collider or Rigidbody.
OnTriggerEnter GameObject 与另一个 GameObject 碰撞时,Unity 会调用 OnTriggerEnter。
OnTriggerExit当 Collider other 已停止接触该触发器时调用 OnTriggerExit。
OnTriggerStay对于正在接触该触发器的每个其他 Collider,“几乎”所有帧都调用 OnTriggerStay。此函数位于物理计时器上,因此它不必运行每个帧。