Jolt Physics
A multi core friendly Game Physics Engine
|
WheelSettings object specifically for WheeledVehicleController. More...
#include <WheeledVehicleController.h>
Public Member Functions | |
WheelSettingsWV () | |
Constructor. | |
virtual void | SaveBinaryState (StreamOut &inStream) const override |
Saves the contents in binary form to inStream. | |
virtual void | RestoreBinaryState (StreamIn &inStream) override |
Restores the contents in binary form to inStream. | |
Public Member Functions inherited from SerializableObject | |
virtual | ~SerializableObject ()=default |
Constructor. | |
Public Member Functions inherited from RefTarget< WheelSettings > | |
RefTarget ()=default | |
Constructor. | |
RefTarget (const RefTarget &) | |
~RefTarget () | |
assert no one is referencing us | |
void | SetEmbedded () const |
RefTarget & | operator= (const RefTarget &) |
Assignment operator. | |
uint32 | GetRefCount () const |
Get current refcount of this object. | |
void | AddRef () const |
Add or release a reference to this object. | |
void | Release () const |
Public Member Functions inherited from NonCopyable | |
NonCopyable ()=default | |
NonCopyable (const NonCopyable &)=delete | |
void | operator= (const NonCopyable &)=delete |
Public Attributes | |
float | mInertia = 0.9f |
Moment of inertia (kg m^2), for a cylinder this would be 0.5 * M * R^2 which is 0.9 for a wheel with a mass of 20 kg and radius 0.3 m. | |
float | mAngularDamping = 0.2f |
Angular damping factor of the wheel: dw/dt = -c * w. | |
float | mMaxSteerAngle = DegreesToRadians(70.0f) |
How much this wheel can steer (radians) | |
LinearCurve | mLongitudinalFriction |
Friction in forward direction of tire as a function of the slip ratio (fraction): (omega_wheel * r_wheel - v_longitudinal) / |v_longitudinal|. | |
LinearCurve | mLateralFriction |
Friction in sideway direction of tire as a function of the slip angle (degrees): angle between relative contact velocity and vehicle direction. | |
float | mMaxBrakeTorque = 1500.0f |
How much torque (Nm) the brakes can apply to this wheel. | |
float | mMaxHandBrakeTorque = 4000.0f |
How much torque (Nm) the hand brake can apply to this wheel (usually only applied to the rear wheels) | |
Public Attributes inherited from WheelSettings | |
Vec3 | mPosition { 0, 0, 0 } |
Attachment point of wheel suspension in local space of the body. | |
Vec3 | mSuspensionDirection { 0, -1, 0 } |
Direction of the suspension in local space of the body, should point down. | |
Vec3 | mSteeringAxis { 0, 1, 0 } |
Direction of the steering axis in local space of the body, should point up (e.g. for a bike would be -mSuspensionDirection) | |
Vec3 | mWheelUp { 0, 1, 0 } |
Up direction when the wheel is in the neutral steering position (usually VehicleConstraintSettings::mUp but can be used to give the wheel camber or for a bike would be -mSuspensionDirection) | |
Vec3 | mWheelForward { 0, 0, 1 } |
Forward direction when the wheel is in the neutral steering position (usually VehicleConstraintSettings::mForward but can be used to give the wheel toe, does not need to be perpendicular to mWheelUp) | |
float | mSuspensionMinLength = 0.3f |
How long the suspension is in max raised position relative to the attachment point (m) | |
float | mSuspensionMaxLength = 0.5f |
How long the suspension is in max droop position relative to the attachment point (m) | |
float | mSuspensionPreloadLength = 0.0f |
The natural length (m) of the suspension spring is defined as mSuspensionMaxLength + mSuspensionPreloadLength. Can be used to preload the suspension as the spring is compressed by mSuspensionPreloadLength when the suspension is in max droop position. Note that this means when the vehicle touches the ground there is a discontinuity so it will also make the vehicle more bouncy as we're updating with discrete time steps. | |
float | mSuspensionFrequency = 1.5f |
Natural frequency of the suspension spring (Hz) | |
float | mSuspensionDamping = 0.5f |
Damping factor of the suspension spring (0 = no damping, 1 = critical damping) | |
float | mRadius = 0.3f |
Radius of the wheel (m) | |
float | mWidth = 0.1f |
Width of the wheel (m) | |
Additional Inherited Members | |
Static Public Member Functions inherited from RefTarget< WheelSettings > | |
static int | sInternalGetRefCountOffset () |
INTERNAL HELPER FUNCTION USED BY SERIALIZATION. | |
Protected Attributes inherited from RefTarget< WheelSettings > | |
atomic< uint32 > | mRefCount |
Current reference count. | |
Static Protected Attributes inherited from RefTarget< WheelSettings > | |
static constexpr uint32 | cEmbedded |
A large value that gets added to the refcount to mark the object as embedded. | |
WheelSettings object specifically for WheeledVehicleController.
WheelSettingsWV::WheelSettingsWV | ( | ) |
Constructor.
|
overridevirtual |
Restores the contents in binary form to inStream.
Reimplemented from WheelSettings.
|
overridevirtual |
Saves the contents in binary form to inStream.
Reimplemented from WheelSettings.
float WheelSettingsWV::mAngularDamping = 0.2f |
Angular damping factor of the wheel: dw/dt = -c * w.
float WheelSettingsWV::mInertia = 0.9f |
Moment of inertia (kg m^2), for a cylinder this would be 0.5 * M * R^2 which is 0.9 for a wheel with a mass of 20 kg and radius 0.3 m.
LinearCurve WheelSettingsWV::mLateralFriction |
Friction in sideway direction of tire as a function of the slip angle (degrees): angle between relative contact velocity and vehicle direction.
LinearCurve WheelSettingsWV::mLongitudinalFriction |
Friction in forward direction of tire as a function of the slip ratio (fraction): (omega_wheel * r_wheel - v_longitudinal) / |v_longitudinal|.
float WheelSettingsWV::mMaxBrakeTorque = 1500.0f |
How much torque (Nm) the brakes can apply to this wheel.
float WheelSettingsWV::mMaxHandBrakeTorque = 4000.0f |
How much torque (Nm) the hand brake can apply to this wheel (usually only applied to the rear wheels)
float WheelSettingsWV::mMaxSteerAngle = DegreesToRadians(70.0f) |
How much this wheel can steer (radians)