Gah - a solution with more questions. – EntropicLqd


From Unreal Wiki, The Unreal Engine Documentation Site
Jump to: navigation, search
UT2003 :: Actor >> Pawn >> KVehicle >> KCar (Package: Vehicles)
UT2004 :: Actor >> Pawn >> Vehicle >> KVehicle >> KCar (Package: Vehicles)

A "karma-based" vehicle.

Note: This class is obsolete in UT2004. You should use an SVehicle subclass instead.



  • FrontTireClass (<KTire>)
  • RearTireClass (<KTire>)
  • WheelFrontAlong (const float)
  • WheelFrontAcross (const float)
  • WheelRearAlong (const float)
  • WheelRearAcross (const float)
  • WheelVert (const float)
  • MaxSteerAngle (Float)
(65535 = 360 deg)
  • MaxBrakeTorque (Float)
Braking torque applied to all four wheels. Positive only.
  • TorqueSplit (Float)
front/rear drive torque split. 1 is fully RWD, 0 is fully FWD. 0.5 is standard 4WD.
  • SteerPropGap (Float)
  • SteerTorque (Float)
  • SteerSpeed (Float)
  • SuspStiffness (Float)
  • SuspDamping (Float)
  • SuspHighLimit (Float)
  • SuspLowLimit (Float)
  • SuspRef (Float)
  • TireRollFriction (Float)
  • TireLateralFriction (Float)
  • TireRollSlip (Float)
  • TireLateralSlip (Float)
  • TireMinSlip (Float)
  • TireSlipRate (Float)
  • TireSoftness (Float)
  • TireAdhesion (Float)
  • TireRestitution (Float)
  • TireMass (Float)
  • HandbrakeThresh (Float)
Speed above which handbrake comes on =]
  • TireHandbrakeSlip (Float)
Additional lateral slip when handbrake engaged
  • TireHandbrakeFriction (Float)
Additional lateral friction when handbrake engaged
  • ChassisMass (Float)
  • StopThreshold (Float)
Forward velocity under which brakes become drive.
  • TorqueCurve (InterpCurve)
Engine RPM in, Torque out.
  • FlipTorque (Float);
  • FlipTime (Float);
  • MaxNetUpdateInterval (Float);

Not editable

Gear (int)

1 is forward, -1 is backward. Currently symmetric power/torque curve
  • WheelSpinSpeed (Float)
Current (averaged) RPM of rear wheels
  • ForwardVel (Float)
Component of cars velocity in its forward direction.
  • bIsInverted (Bool)
Updated in Tick - indicates if car is not upright.
  • IsDriving (Bool)
  • FlipTimeLeft (Float)
  • NextNetUpdateTime (Float)
Next time we should force an update of vehicles state.
  • OutputBrake (Bool)
  • OutputTorque (Float)
  • OutputHandbrakeOn (Bool)
This is replicated to the car, and processed to update all the parts.
  • bNewCarState (Bool)
Indicated there is new data processed, and chassis RBState should be updated.


  • VehicleStateReceived()
When new information is received, see if its new. If so, pass bits off the the wheels.
Each part will then update its rigid body position via the KUpdateState event.
  • KUpdateState() (Bool)
This only update the chassis. The wheels update themselves.
  • PackState()
Pack current state of whole car into the state struct, to be sent to the client.
Should only get called on the server.
  • PostNetBeginPlay()
Spawns tires and KCarWheelJoints (super is called also)
  • Destroyed()
Destroyes tires and wheeljoints (super is called also)
  • KVehicleUpdateParams()
Call this if you change any parameters (tire, suspension etc.) and they
will be passed down to each wheel/joint.
  • KApplyForce()
Possibly apply force to flip car over.
  • StartFlip(Pawn Pusher)
  • Engine(float Throttle) (Float)
  • ProcessCarInput()
  • Tick(float Delta)
Car Simulation

Known subclasses

Related Topics