UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
Chaos::FSimpleWheelSim Class Reference

#include <WheelSystem.h>

+ Inheritance diagram for Chaos::FSimpleWheelSim:

Public Member Functions

 FSimpleWheelSim (const FSimpleWheelConfig *SetupIn)
 
void SetWheelRadius (float NewRadius)
 
void SetAngularPosition (float PositionIn)
 
void SetAngularVelocity (float AngularVelocityIn)
 
void SetMatchingSpeed (float LinearMetersPerSecondIn)
 
void SetBrakeTorque (float BrakeTorqueIn, bool bEngineBrakingIn=false)
 
void SetDriveTorque (float EngineTorqueIn)
 
void SetTorqueCombineMethod (FSimpleWheelConfig::EExternalTorqueCombineMethod InCombineMethod)
 
void SetBrakeTorqueOverride (float BrakeTorqueIn, bool bEngineBrakingIn=false)
 
void SetDriveTorqueOverride (float EngineTorqueIn)
 
void SetVehicleGroundSpeed (const FVector &VIn)
 
void SetWheelLoadForce (float WheelLoadForceIn)
 
void SetSurfaceFriction (float InFriction)
 
void SetOnGround (bool OnGround)
 
void SetSteeringAngle (float InAngle)
 
void SetMaxOmega (float InMaxOmega)
 
void SetWheelIndex (uint32 InIndex)
 
FVector GetForceFromFriction () const
 
float GetEffectiveRadius () const
 
float GetAngularPosition () const
 
float GetAngularVelocity () const
 
float GetWheelRPM ()
 
bool InContact () const
 
bool IsSlipping () const
 
bool IsSkidding () const
 
bool IsABSActivated () const
 
float GetSteeringAngle () const
 
float GetNormalizedLongitudinalSlip () const
 
float GetNormalizedLateralSlip () const
 
float GetWheelLoadForce () const
 
float GetSurfaceFriction () const
 
float GetSlipAngle () const
 
float GetDriveTorque () const
 
float GetBrakeTorque () const
 
float GetRoadSpeed () const
 
float GetWheelGroundSpeed () const
 
float GetSlipMagnitude () const
 
float GetSkidMagnitude () const
 
void Simulate (float DeltaTime)
 
void SetMassPerWheel (float VehicleMassPerWheel)
 
- Public Member Functions inherited from TVehicleSystem< FSimpleWheelConfig >
 TVehicleSystem ()
 
 TVehicleSystem (const FSimpleWheelConfig *SetupIn)
 
FSimpleWheelConfig & AccessSetup ()
 
const FSimpleWheelConfig & Setup () const
 

Static Public Member Functions

static float GetNormalisedFrictionFromSlipAngle (float SlipIn)
 

Public Attributes

bool BrakeEnabled
 
bool HandbrakeEnabled
 
bool SteeringEnabled
 
bool EngineEnabled
 
bool TractionControlEnabled
 
bool ABSEnabled
 
float FrictionMultiplier
 
float LateralSlipGraphMultiplier
 
float CorneringStiffness
 
float MaxSteeringAngle
 
float MaxBrakeTorque
 
float HandbrakeTorque
 
FSimpleWheelConfig::EExternalTorqueCombineMethod ExternalTorqueCombineMethod
 
float Re
 
float Omega
 
float Sx
 
float Inertia
 
float DriveTorque
 
float BrakeTorque
 
float ForceIntoSurface
 
FVector GroundVelocityVector
 
float AngularPosition
 
float SteeringAngle
 
float SurfaceFriction
 
float MaxOmega
 
float ExternalDriveTorque
 
float ExternalBrakeTorque
 
FVector ForceFromFriction
 
float MassPerWheel
 
float SlipVelocity
 
float SlipAngle
 
bool bInContact
 
uint32 WheelIndex
 
bool bEngineBraking
 
float AppliedLinearDriveForce
 
float AppliedLinearBrakeForce
 
float LongitudinalAdhesiveLimit
 
float LateralAdhesiveLimit
 
float SideSlipModifier
 
float Spin
 
float AvailableGrip
 
FVector InputForces
 
bool bClipping
 
bool bABSActivated
 
- Public Attributes inherited from TVehicleSystem< FSimpleWheelConfig >
const FSimpleWheelConfig * SetupPtr
 

Detailed Description

Wheel instance data changes during the simulation

Constructor & Destructor Documentation

◆ FSimpleWheelSim()

Chaos::FSimpleWheelSim::FSimpleWheelSim ( const FSimpleWheelConfig SetupIn)

Member Function Documentation

◆ GetAngularPosition()

float Chaos::FSimpleWheelSim::GetAngularPosition ( ) const
inline

Get the angular position of the wheel [radians]

◆ GetAngularVelocity()

float Chaos::FSimpleWheelSim::GetAngularVelocity ( ) const
inline

Get the angular velocity of the wheel [radians/sec]

◆ GetBrakeTorque()

float Chaos::FSimpleWheelSim::GetBrakeTorque ( ) const
inline

Get the braking torque being applied to the wheel [N.m]

◆ GetDriveTorque()

float Chaos::FSimpleWheelSim::GetDriveTorque ( ) const
inline

Get the drive torque being applied to the wheel [N.m]

◆ GetEffectiveRadius()

float Chaos::FSimpleWheelSim::GetEffectiveRadius ( ) const
inline

Get the radius of the wheel [cm]

◆ GetForceFromFriction()

FVector Chaos::FSimpleWheelSim::GetForceFromFriction ( ) const
inline

return the calculated available friction force

◆ GetNormalisedFrictionFromSlipAngle()

static float Chaos::FSimpleWheelSim::GetNormalisedFrictionFromSlipAngle ( float  SlipIn)
inlinestatic

Amount of friction we can expect after taking into account the amount the wheel slips

◆ GetNormalizedLateralSlip()

float Chaos::FSimpleWheelSim::GetNormalizedLateralSlip ( ) const
inline

◆ GetNormalizedLongitudinalSlip()

float Chaos::FSimpleWheelSim::GetNormalizedLongitudinalSlip ( ) const
inline

Get the current longitudinal slip value [0 no slip - using static friction, 1 full slip - using dynamic friction]

◆ GetRoadSpeed()

float Chaos::FSimpleWheelSim::GetRoadSpeed ( ) const
inline

Get the road speed at the wheel

◆ GetSkidMagnitude()

float Chaos::FSimpleWheelSim::GetSkidMagnitude ( ) const
inline

Get the effective ground speed along the lateral wheel axis positive if wheel is faster than effective ground speed, negative if wheel is slower

◆ GetSlipAngle()

float Chaos::FSimpleWheelSim::GetSlipAngle ( ) const
inline

Get the slip angle for this wheel - angle between wheel forward axis and velocity vector [degrees]

◆ GetSlipMagnitude()

float Chaos::FSimpleWheelSim::GetSlipMagnitude ( ) const
inline

Get the difference between the wheel speed and the effective ground speed of the vehicle at the wheel positive if wheel is faster than effective ground speed, negative if wheel is slower

◆ GetSteeringAngle()

float Chaos::FSimpleWheelSim::GetSteeringAngle ( ) const
inline

◆ GetSurfaceFriction()

float Chaos::FSimpleWheelSim::GetSurfaceFriction ( ) const
inline

Get the friction coefficient of the surface in contact with the wheel

◆ GetWheelGroundSpeed()

float Chaos::FSimpleWheelSim::GetWheelGroundSpeed ( ) const
inline

Get the linear ground speed of the wheel based on its current rotational speed

◆ GetWheelLoadForce()

float Chaos::FSimpleWheelSim::GetWheelLoadForce ( ) const
inline

Get the magnitude of the force pressing the wheel into the terrain

◆ GetWheelRPM()

float Chaos::FSimpleWheelSim::GetWheelRPM ( )
inline

Get the wheel RPM [revolutions per minute]

◆ InContact()

bool Chaos::FSimpleWheelSim::InContact ( ) const
inline

Is the wheel in contact with the terrain or another object

◆ IsABSActivated()

bool Chaos::FSimpleWheelSim::IsABSActivated ( ) const
inline

◆ IsSkidding()

bool Chaos::FSimpleWheelSim::IsSkidding ( ) const
inline

◆ IsSlipping()

bool Chaos::FSimpleWheelSim::IsSlipping ( ) const
inline

◆ SetAngularPosition()

void Chaos::FSimpleWheelSim::SetAngularPosition ( float  PositionIn)
inline

Set the angular position in radians

◆ SetAngularVelocity()

void Chaos::FSimpleWheelSim::SetAngularVelocity ( float  AngularVelocityIn)
inline

Set the angular position in radians/sec

◆ SetBrakeTorque()

void Chaos::FSimpleWheelSim::SetBrakeTorque ( float  BrakeTorqueIn,
bool  bEngineBrakingIn = false 
)
inline

Set the braking torque - decelerating rotational force

◆ SetBrakeTorqueOverride()

void Chaos::FSimpleWheelSim::SetBrakeTorqueOverride ( float  BrakeTorqueIn,
bool  bEngineBrakingIn = false 
)
inline

◆ SetDriveTorque()

void Chaos::FSimpleWheelSim::SetDriveTorque ( float  EngineTorqueIn)
inline

Set the drive torque - accelerating rotational force

◆ SetDriveTorqueOverride()

void Chaos::FSimpleWheelSim::SetDriveTorqueOverride ( float  EngineTorqueIn)
inline

◆ SetMassPerWheel()

void Chaos::FSimpleWheelSim::SetMassPerWheel ( float  VehicleMassPerWheel)
inline

◆ SetMatchingSpeed()

void Chaos::FSimpleWheelSim::SetMatchingSpeed ( float  LinearMetersPerSecondIn)
inline

set wheel rotational speed to match the specified linear forwards speed

◆ SetMaxOmega()

void Chaos::FSimpleWheelSim::SetMaxOmega ( float  InMaxOmega)
inline

◆ SetOnGround()

void Chaos::FSimpleWheelSim::SetOnGround ( bool  OnGround)
inline

◆ SetSteeringAngle()

void Chaos::FSimpleWheelSim::SetSteeringAngle ( float  InAngle)
inline

◆ SetSurfaceFriction()

void Chaos::FSimpleWheelSim::SetSurfaceFriction ( float  InFriction)
inline

Set the friction coefficient of the surface under the wheel

◆ SetTorqueCombineMethod()

void Chaos::FSimpleWheelSim::SetTorqueCombineMethod ( FSimpleWheelConfig::EExternalTorqueCombineMethod  InCombineMethod)
inline

◆ SetVehicleGroundSpeed()

void Chaos::FSimpleWheelSim::SetVehicleGroundSpeed ( const FVector VIn)
inline

Set the vehicle's speed at the wheels location in local wheel coords

◆ SetWheelIndex()

void Chaos::FSimpleWheelSim::SetWheelIndex ( uint32  InIndex)
inline

◆ SetWheelLoadForce()

void Chaos::FSimpleWheelSim::SetWheelLoadForce ( float  WheelLoadForceIn)
inline

Set the force pressing the wheel into the terrain - from suspension

◆ SetWheelRadius()

void Chaos::FSimpleWheelSim::SetWheelRadius ( float  NewRadius)
inline

Set the wheel radius - can change dynamically during simulation if desired

◆ Simulate()

void Chaos::FSimpleWheelSim::Simulate ( float  DeltaTime)

Simulate - figure out wheel lateral and longitudinal forces based on available friction at the wheel Wheel load force from body weight and the surface friction together determine the grip available at the wheel DriveTorque accelerates the wheel BrakeTorque decelerates the wheel

Member Data Documentation

◆ ABSEnabled

bool Chaos::FSimpleWheelSim::ABSEnabled

◆ AngularPosition

float Chaos::FSimpleWheelSim::AngularPosition

◆ AppliedLinearBrakeForce

float Chaos::FSimpleWheelSim::AppliedLinearBrakeForce

◆ AppliedLinearDriveForce

float Chaos::FSimpleWheelSim::AppliedLinearDriveForce

◆ AvailableGrip

float Chaos::FSimpleWheelSim::AvailableGrip

◆ bABSActivated

bool Chaos::FSimpleWheelSim::bABSActivated

◆ bClipping

bool Chaos::FSimpleWheelSim::bClipping

◆ bEngineBraking

bool Chaos::FSimpleWheelSim::bEngineBraking

◆ bInContact

bool Chaos::FSimpleWheelSim::bInContact

◆ BrakeEnabled

bool Chaos::FSimpleWheelSim::BrakeEnabled

◆ BrakeTorque

float Chaos::FSimpleWheelSim::BrakeTorque

◆ CorneringStiffness

float Chaos::FSimpleWheelSim::CorneringStiffness

◆ DriveTorque

float Chaos::FSimpleWheelSim::DriveTorque

◆ EngineEnabled

bool Chaos::FSimpleWheelSim::EngineEnabled

◆ ExternalBrakeTorque

float Chaos::FSimpleWheelSim::ExternalBrakeTorque

◆ ExternalDriveTorque

float Chaos::FSimpleWheelSim::ExternalDriveTorque

◆ ExternalTorqueCombineMethod

FSimpleWheelConfig::EExternalTorqueCombineMethod Chaos::FSimpleWheelSim::ExternalTorqueCombineMethod

◆ ForceFromFriction

FVector Chaos::FSimpleWheelSim::ForceFromFriction

◆ ForceIntoSurface

float Chaos::FSimpleWheelSim::ForceIntoSurface

◆ FrictionMultiplier

float Chaos::FSimpleWheelSim::FrictionMultiplier

◆ GroundVelocityVector

FVector Chaos::FSimpleWheelSim::GroundVelocityVector

◆ HandbrakeEnabled

bool Chaos::FSimpleWheelSim::HandbrakeEnabled

◆ HandbrakeTorque

float Chaos::FSimpleWheelSim::HandbrakeTorque

◆ Inertia

float Chaos::FSimpleWheelSim::Inertia

◆ InputForces

FVector Chaos::FSimpleWheelSim::InputForces

◆ LateralAdhesiveLimit

float Chaos::FSimpleWheelSim::LateralAdhesiveLimit

◆ LateralSlipGraphMultiplier

float Chaos::FSimpleWheelSim::LateralSlipGraphMultiplier

◆ LongitudinalAdhesiveLimit

float Chaos::FSimpleWheelSim::LongitudinalAdhesiveLimit

◆ MassPerWheel

float Chaos::FSimpleWheelSim::MassPerWheel

◆ MaxBrakeTorque

float Chaos::FSimpleWheelSim::MaxBrakeTorque

◆ MaxOmega

float Chaos::FSimpleWheelSim::MaxOmega

◆ MaxSteeringAngle

float Chaos::FSimpleWheelSim::MaxSteeringAngle

◆ Omega

float Chaos::FSimpleWheelSim::Omega

◆ Re

float Chaos::FSimpleWheelSim::Re

◆ SideSlipModifier

float Chaos::FSimpleWheelSim::SideSlipModifier

◆ SlipAngle

float Chaos::FSimpleWheelSim::SlipAngle

◆ SlipVelocity

float Chaos::FSimpleWheelSim::SlipVelocity

◆ Spin

float Chaos::FSimpleWheelSim::Spin

◆ SteeringAngle

float Chaos::FSimpleWheelSim::SteeringAngle

◆ SteeringEnabled

bool Chaos::FSimpleWheelSim::SteeringEnabled

◆ SurfaceFriction

float Chaos::FSimpleWheelSim::SurfaceFriction

◆ Sx

float Chaos::FSimpleWheelSim::Sx

◆ TractionControlEnabled

bool Chaos::FSimpleWheelSim::TractionControlEnabled

◆ WheelIndex

uint32 Chaos::FSimpleWheelSim::WheelIndex

The documentation for this class was generated from the following files: