A special collider for vehicle wheels.
Wheel collider is used to model vehicle wheels. It simulates a spring and damper suspension setup,
and uses a slip based tire friction model to calculate wheel contact forces.
Wheel's collision detection is performed by casting a ray from center downwards the local
y-axis. The wheel has a radius and can extend downwards by suspensionDistance
amount.
The wheel is controlled with motorTorque, brakeTorque and steerAngle properties.
Wheel collider computes friction separately from the rest of physics engine, using a slip based
friction model. This allows for more realistic behaviour, but makes
wheel colliders ignore standard PhysicMaterial settings. Simulation of different road materials
is done by changing the forwardFriction and sidewaysFriction
based on what material the wheel is hitting. See Also: GetGroundHit and WheelFrictionCurve.
brakeTorque | Brake torque expressed in Newton metres. |
center | The center of the wheel, measured in the object's local space. |
forceAppPointDistance | Application point of suspension/tire forces. This is specified as a distance in metres along the local up vector of the vehicle's rigid body from the base of the wheel at its rest coordinate (the rest coordinate of the wheel is determined by the value WheelCollider.spring.targetPosition). This parameter simulates the effective roll center of the suspension geometry. For a standard family car the value of forceAppPointDistance should be tuned to place the application point approximately 0.3m below the rigid body center of mass. Moving the application point downwards introduces more roll when cornering, while moving it upwards results in less roll when cornering. The force application point is typically below the rigid body center of mass.Please note that having this parameter equal to zero could be undesirable as it contributes to simulation instability in certain configurations. Once you observe your vehicle failing to go asleep resting on flat surface, exhibiting jittering behavior or drifting along the surface when no user input is applied, check the forceAppPointDistance values. In the editor, when a WheelCollider game object is selected, there is a green spherical gizmo displayed to show where the force application point is at the moment. Try increasing forceAppPointDistance value gradually, until you're satisfied with the result. |
forwardFriction | Properties of tire friction in the direction the wheel is pointing in. |
isGrounded | Indicates whether the wheel currently collides with something (Read Only). |
mass | The mass of the wheel, expressed in kilograms. Must be larger than zero. Typical values would be in range (20,80). |
motorTorque | Motor torque on the wheel axle expressed in Newton metres. Positive or negative depending on direction. |
radius | The radius of the wheel, measured in local space. |
rpm | Current wheel axle rotation speed, in rotations per minute (Read Only). |
sidewaysFriction | Properties of tire friction in the sideways direction. |
sprungMass | The mass supported by this WheelCollider. |
steerAngle | Steering angle in degrees, always around the local y-axis. |
suspensionDistance | Maximum extension distance of wheel suspension, measured in local space. |
suspensionSpring | The parameters of wheel's suspension. The suspension attempts to reach a target position by applying a linear force and a damping force. |
wheelDampingRate | The damping rate of the wheel. Must be larger than zero. |
ConfigureVehicleSubsteps | Configure vehicle sub-stepping parameters. |
GetGroundHit | Gets ground collision data for the wheel. |
GetWorldPose | Gets the world space pose of the wheel accounting for ground contact, suspension limits, steer angle, and rotation angle. |
attachedRigidbody | The rigidbody the collider is attached to. |
bounds | The world space bounding volume of the collider. |
contactOffset | Contact offset value of this collider. |
enabled | Enabled Colliders will collide with other colliders, disabled Colliders won't. |
isTrigger | Is the collider a trigger? |
material | The material used by the collider. |
sharedMaterial | The shared physic material of this collider. |
gameObject | The game object this component is attached to. A component is always attached to a game object. |
tag | The tag of this game object. |
transform | The Transform attached to this GameObject (null if there is none attached). |
hideFlags | Should the object be hidden, saved with the scene or modifiable by the user? |
name | The name of the object. |
ClosestPointOnBounds | The closest point to the bounding box of the attached collider. |
Raycast | Casts a Ray that ignores all Colliders except this one. |
BroadcastMessage | Calls the method named methodName on every MonoBehaviour in this game object or any of its children. |
CompareTag | Is this game object tagged with tag ? |
GetComponent | Returns the component of Type type if the game object has one attached, null if it doesn't. |
GetComponentInChildren | Returns the component of Type type in the GameObject or any of its children using depth first search. |
GetComponentInParent | Returns the component of Type type in the GameObject or any of its parents. |
GetComponents | Returns all components of Type type in the GameObject. |
GetComponentsInChildren | Returns all components of Type type in the GameObject or any of its children. |
GetComponentsInParent | Returns all components of Type type in the GameObject or any of its parents. |
SendMessage | Calls the method named methodName on every MonoBehaviour in this game object. |
SendMessageUpwards | Calls the method named methodName on every MonoBehaviour in this game object and on every ancestor of the behaviour. |
GetInstanceID | Returns the instance id of the object. |
ToString | Returns the name of the game object. |
Destroy | Removes a gameobject, component or asset. |
DestroyImmediate | Destroys the object obj immediately. You are strongly recommended to use Destroy instead. |
DontDestroyOnLoad | Makes the object target not be destroyed automatically when loading a new scene. |
FindObjectOfType | Returns the first active loaded object of Type type. |
FindObjectsOfType | Returns a list of all active loaded objects of Type type. |
Instantiate | Clones the object original and returns the clone. |
bool | Does the object exist? |
operator != | Compares if two objects refer to a different object. |
operator == | Compares if two objects refer to the same. |
OnCollisionEnter | OnCollisionEnter is called when this collider/rigidbody has begun touching another rigidbody/collider. |
OnCollisionExit | OnCollisionExit is called when this collider/rigidbody has stopped touching another rigidbody/collider. |
OnCollisionStay | OnCollisionStay is called once per frame for every collider/rigidbody that is touching rigidbody/collider. |
OnTriggerEnter | OnTriggerEnter is called when the Collider other enters the trigger. |
OnTriggerExit | OnTriggerExit is called when the Collider other has stopped touching the trigger. |
OnTriggerStay | OnTriggerStay is called almost all the frames for every Collider other that is touching the trigger. |