1
0
KF2-Dev-Scripts/UDKBase/classes/UDKVehicleSimCar.uc
2020-12-13 18:01:13 +03:00

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
}