110 lines
3.9 KiB
Ucode
110 lines
3.9 KiB
Ucode
/**
|
|
* Copyright 1998-2013 Epic Games, Inc. All Rights Reserved.
|
|
*/
|
|
class UDKVehicleSimCar extends SVehicleSimCar
|
|
native;
|
|
|
|
/** Torque vs Speed curve: This curve approximates a transmission as opposed to actually simulating one as in SVehicleSimTransmission
|
|
In general you want to have a higher torque at low speed and a lower torque at high speed */
|
|
var() InterpCurveFloat TorqueVSpeedCurve;
|
|
|
|
/** Translates forward velocity into an EngineRPM that can be used for effects and sounds */
|
|
var() InterpCurveFloat EngineRPMCurve;
|
|
|
|
/** Limited slip differential: 0.60 would mean 60% of the power is routed through the LSD and 40% is divided evenly */
|
|
var() float LSDFactor;
|
|
|
|
/** ThrottleSpeed is the speed at which the vehicle will increase its ActualThrottle to get to the desired Throttle */
|
|
var() float ThrottleSpeed;
|
|
|
|
// Internal
|
|
var float MinRPM;
|
|
var float MaxRPM;
|
|
var float ActualThrottle;
|
|
|
|
/** flag when throttle was forced up to prevent back slipping */
|
|
var bool bForceThrottle;
|
|
|
|
/** flag set when bForceThrottle has been used, and throttle has not been zeroed again */
|
|
var bool bHasForcedThrottle;
|
|
|
|
/** flag to prevent braking to a stop with no driver */
|
|
var bool bDriverlessBraking;
|
|
|
|
/** steering reduction factor when have wheels in air (to make vehicles easier to control) */
|
|
var() float SteeringReductionFactor;
|
|
|
|
/** steering reduction ramp up rate (1/this = time to full steering reduction). ramps down at half this rate */
|
|
var() float SteeringReductionRampUpRate;
|
|
|
|
/** current steering reduction value (scales up and down over time */
|
|
var float CurrentSteeringReduction;
|
|
|
|
/** how many wheels must be on ground in order to avoid steering reduction */
|
|
var() int NumWheelsForFullSteering;
|
|
|
|
/** speed at which steering reduction is in full effect */
|
|
var() float SteeringReductionSpeed;
|
|
|
|
/** speed at which steering reduction starts */
|
|
var() float SteeringReductionMinSpeed;
|
|
|
|
/** minimum speed before torque reduction sets in when turning hard */
|
|
var() float MinHardTurnSpeed;
|
|
|
|
/** motor torque applied during hard turns (don't want to accelerate through hard turns */
|
|
var() float HardTurnMotorTorque;
|
|
|
|
/** whether should auto-handbrake when wheels on one side are off the ground */
|
|
var() bool bAutoHandbrake;
|
|
|
|
/** How quickly the handbrake is turned off (it is turned on immediately) */
|
|
var() float HandbrakeSpeed;
|
|
|
|
/** Internal - current amount of handbrake applied. */
|
|
var float ActualHandbrake;
|
|
|
|
/** When driving into something, reduce friction on the wheels. */
|
|
var() float FrontalCollisionGripFactor;
|
|
|
|
/** When turning hard on console, reduce lateral grip to enhance sliding around. */
|
|
var() float ConsoleHardTurnGripFactor;
|
|
|
|
/** Damping on yaw based on vehicle speed. */
|
|
var() float SpeedBasedTurnDamping;
|
|
|
|
/** Torque to apply when vehicle is in ato allow some air control. */
|
|
var() float AirControlTurnTorque;
|
|
|
|
/** Torque applied when in the air to try and keep vehicle horizontal. */
|
|
var() float InAirUprightTorqueFactor;
|
|
|
|
/** Max torque that can be applied to try and */
|
|
var() float InAirUprightMaxTorque;
|
|
|
|
cpptext
|
|
{
|
|
// SVehicleSimBase interface.
|
|
virtual void UpdateVehicle(ASVehicle* Vehicle, FLOAT DeltaTime);
|
|
virtual FLOAT GetEngineOutput(ASVehicle* Vehicle);
|
|
virtual void ProcessCarInput(ASVehicle* Vehicle);
|
|
virtual void UpdateHandbrake(ASVehicle* Vehicle);
|
|
}
|
|
|
|
defaultproperties
|
|
{
|
|
ThrottleSpeed=0.2
|
|
bDriverlessBraking=true
|
|
NumWheelsForFullSteering=0
|
|
SteeringReductionFactor=1.0
|
|
SteeringReductionMinSpeed=2500.0
|
|
SteeringReductionSpeed=2500.0
|
|
CurrentSteeringReduction=1.0
|
|
SteeringReductionRampUpRate=5.0
|
|
MinHardTurnSpeed=250.0
|
|
HardTurnMotorTorque=0.4
|
|
FrontalCollisionGripFactor=1.0
|
|
ConsoleHardTurnGripFactor=1.0
|
|
HandbrakeSpeed=2.0
|
|
}
|