Physics object that simulates the behaviour of a wheel.
``````    public class VehicleWheel : Spatial
``````

This node needs to be used as a child node of VehicleBody and simulates the behaviour of one of its wheels. This node also acts as a collider to detect if the wheel is touching a surface.

### Constructors

``````    public VehicleWheel()
``````

### Properties

``````    public float DampingCompression { get; set; }
``````

The damping applied to the spring when the spring is being compressed. This value should be between 0.0 (no damping) and 1.0. A value of 0.0 means the car will keep bouncing as the spring keeps its energy. A good value for this is around 0.3 for a normal car, 0.5 for a race car.

``````    public float DampingRelaxation { get; set; }
``````

The damping applied to the spring when relaxing. This value should be between 0.0 (no damping) and 1.0. This value should always be slighly higher then the DampingCompression property. For a DampingCompression value of 0.3, try a relaxation value of 0.5

``````    public float SuspensionMaxForce { get; set; }
``````

The maximum force the spring can resist. This value should be higher then a quarter of the RigidBody.Mass of the VehicleBody or the spring will not carry the weight of the vehicle. Good results are often obtained by a value that is about 3x to 4x this number.

``````    public float SuspensionStiffness { get; set; }
``````

This value defines the stiffness of the suspension. Use a value lower then 50 for an offroad car, a value between 50 and 100 for a race car and try something around 200 for something like a Formula 1 car.

``````    public float SuspensionTravel { get; set; }
``````

This is the distance the suspension can travel. As Godots measures are in meters keep this setting relatively low. Try a value between 0.1 and 0.3 depending on the type of car .

``````    public bool UseAsSteering { get; set; }
``````

If true this wheel will be turned when the car steers.

``````    public bool UseAsTraction { get; set; }
``````

If true this wheel transfers engine force to the ground to propel the vehicle forward.

``````    public float WheelFrictionSlip { get; set; }
``````

This determines how much grip this wheel has. It is combined with the friction setting of the surface the wheel is in contact with. 0.0 means no grip, 1.0 is normal grip. For a drift car setup, try setting the grip of the rear wheels slightly lower then the front wheels, or use a lower value to simulate tire wear.

It’s best to set this to 1.0 when starting out.

``````    public float WheelRadius { get; set; }
``````

The radius of the wheel in meters.

``````    public float WheelRestLength { get; set; }
``````

This is the distance in meters the wheel is lowered from its origin point. Don’t set this to 0.0 and move the wheel into position, instead move the origin point of your wheel (the gizmo in Godot) to the position the wheel will take when bottoming out, then use the rest lenght to move the wheel down to the position it should be in when the car is in rest.

``````    public float WheelRollInfluence { get; set; }
``````

This value effects the roll of your vehicle. If set to 0.0 for all wheels your vehicle will be prone to rolling over while a value of 1.0 will resist body roll.

### Methods

``````    public float GetDampingCompression()
``````

Getter for DampingCompression

``````    public float GetDampingRelaxation()
``````

Getter for DampingRelaxation

``````    public float GetFrictionSlip()
``````

Getter for WheelFrictionSlip

``````    public float GetRadius()
``````

``````    public float GetRollInfluence()
``````

Getter for WheelRollInfluence

``````    public float GetSkidinfo()
``````

Returns a value between 0.0 and 1.0 that indicates whether this wheel is skidding. 0.0 is not skidding, 1.0 means the wheel has lost grip.

``````    public float GetSuspensionMaxForce()
``````

Getter for SuspensionMaxForce

``````    public float GetSuspensionRestLength()
``````

Getter for WheelRestLength

``````    public float GetSuspensionStiffness()
``````

Getter for SuspensionStiffness

``````    public float GetSuspensionTravel()
``````

Getter for SuspensionTravel

``````    public bool IsInContact()
``````

Returns true if this wheel is in contact with a surface.

``````    public bool IsUsedAsSteering()
``````

Getter for UseAsSteering

``````    public bool IsUsedAsTraction()
``````

Getter for UseAsTraction

``````    public void SetDampingCompression(float length)
``````

Setter for DampingCompression

``````    public void SetDampingRelaxation(float length)
``````

Setter for DampingRelaxation

``````    public void SetFrictionSlip(float length)
``````

Setter for WheelFrictionSlip

``````    public void SetRadius(float length)
``````

``````    public void SetRollInfluence(float rollInfluence)
``````

Setter for WheelRollInfluence

``````    public void SetSuspensionMaxForce(float length)
``````

Setter for SuspensionMaxForce

``````    public void SetSuspensionRestLength(float length)
``````

Setter for WheelRestLength

``````    public void SetSuspensionStiffness(float length)
``````

Setter for SuspensionStiffness

``````    public void SetSuspensionTravel(float length)
``````

Setter for SuspensionTravel

``````    public void SetUseAsSteering(bool enable)
``````

Setter for UseAsSteering

``````    public void SetUseAsTraction(bool enable)
``````

Setter for UseAsTraction

Tags: