Wardogs: Vehicle Control Assists

Generated by _tools/vehicle_round40_tables.py (--write refreshes this page and assets/data/vehicle-arcade-controls.json / vehicle-rotary-assists.json). Values are shown as stored in the cooked data; - means the asset does not set the field (the native default applies, not read). Evidence: round 40.

1. Wheeled arcade controls (DA_ArcadeControls_*)

Each wheeled vehicle names one MWheeledVehicleArcadeDataAsset. The names are the engine’s own: recover power pushes the car back on line after under- or oversteer between the minimum and full recover speeds; anti-roll powers resist body roll per axle; drift ratios shape the drift assist; lean and pitch angles limit body lean; predictive landing and airborne damping act while airborne. How each number maps to the feel of the car is native and not traced.

Asset Understeer recover Oversteer recover Recover min speed Recover full speed Drift assist Drift front Drift rear Front anti-roll Rear anti-roll Anti-roll spring Damper smooth Traction ratio Traction max speed Torque splitter Balance assist Lean min speed Max lean angle Max pitch angle Lean in air Predictive landing Predict time (s) Extra time buffer (s) Air roll torque Air pitch torque Airborne damping
DA_ArcadeControls_WHL_01 - 50 - 35 - -1 3 100 100 1250 0.1 200 50 100 True 5 50 50 - True - - - - 1
DA_ArcadeControls_WHL_02 100 100 0 200 True 5 60 - - - - - - - - - - - - True - - 0 400000 1
DA_ArcadeControls_WHL_05_Humvee 100 100 0 120 - - - 40 40 - - - - - - - - - - True 1 - 0 400000 1
DA_ArcadeControls_WHL_06_DuneBuggy 100 100 0 120 - 1 1 35 - 1 0.1 - - - - 5 15 20 False True 3.5 0.2 - - 1.5
DA_ArcadeControls_WHL_07 100 100 0 200 - 2.5 30 - - - - - - - - - - - False - - - 0 400000 1
DA_ArcadeControls_WHL_08 100 100 0 120 - - - 40 40 - - - - - - - - - - True 1 - 0 400000 1

Fields set by no asset appear nowhere in the table. The Kodiak/SUV (WHL_02) and Ural (WHL_07) set no anti-roll power; the Wolf-110 (WHL_08) and Humvee (WHL_05) share the same values.

2. Wheeled tyre models (MWheeledVehicleTireModelSimpleDataAsset)

Only three wheeled vehicles name a simple tyre model asset: WHL_01, WHL_02 (Kodiak and Pickup) and WHL_07 (Ural). The eight coefficients are the engine’s own names (Ln* longitudinal, Lt* lateral; b, c, d, e follow the stiffness, shape, peak and curvature pattern of a Pacejka-style magic formula; that reading comes from the names, it is not confirmed in code). The asset also stores two editor preview curves (force against slip); the largest magnitude and the slip it occurs at are listed.

Asset Lnb Lnc Lnd Lne Ltb Ltc Ltd Lte Longitudinal preview peak Lateral preview peak
DA_WHL_01_TireModelSimple 14 1.9 1.35 1 10 1.2 1.65 0.97 -4049.8 at slip -0.14 -4776.5 at slip -1.492
DA_SimpleTireModel_WHL_02 10 1.15 1.55 0.7 8.8 1.15 1.3 0.65 -4645.5 at slip -1 -3900 at slip -1.253
DA_SimpleTireModel_WHL_07 10 1.65 0.9 0.85 9.5 1.35 1.32 0.65 -2700 at slip -0.26 -3960 at slip -0.433

The other wheeled vehicles (WHL_05, WHL_06, WHL_08) name no tyre model asset in the exported data.

3. Helicopter flight assists

Each helicopter has one BHRotaryFlightDataAsset. The pitch, roll, yaw and collective controls each hold a list of assists. An assist is on or off in the data (Enabled), belongs to a category (Core, Stability, AutoHover, EnvelopeLimits, TurnCoordination), runs when all its conditions are true, and its body computes the control value (a PID loop, a damping interpolation, or a fixed value). Speeds are km/h, angular rates deg/s, as the condition names state.

ROT_02 (DA_ROT_02_FlightCharacteristics)

Rotor: MaxLiftCoeff 1.8, BladeAngleOfAttackForStall_deg 40, RotorRadius 600, LiftForcesAppliedAtRadius 1000, LowAltitude_m 40, HighAltitude_m 200, MaxAltitude_m 280, HighAltitudeRotorEfficiency 0.65, MaxAltitudeRotorEfficiency 0.4, TailRotorNeutralTorque 6e+08.
Control force: PitchControlForce Type RotorBladeAngle, MaxTorque 4.8e+09, MaxRotorBladeAngleDelta 1.3; RollControlForce Type RotorBladeAngle, MaxTorque 1.5e+09, MaxRotorBladeAngleDelta 0.42; YawControlForce MaxTorque 3.3e+08; CollectiveControlForce Type RotorBladeAngle, MinForce 400000, MaxForce 2.8e+06, MinRotorBladeAngleDelta -0.5, MaxRotorBladeAngleDelta 10.

Pitch

Assist Category Enabled Conditions Body
Dampen pressed inputs Core yes input CyclicY = 1 damp via INTERP_TO InterpSpeed 7
Set to 0 on ground Core yes on ground; input CyclicY = 0 set to 0
Stabilize after input released Stability yes stable (LocalAngularVelocity_DegPerS Y below 0.572958, for 0.06 s); input CyclicY = 0 PID P 0.558505 I 0 D 0.139626 on LocalAngularVelocity_DegPerS Y
Level at low speeds Stability yes input CyclicY = 0; WorldVelocity_KmPerH Length < 36 (At low speeds) PID P 0.00436332 I 0 D 0.00349066 on WorldRotation_Deg Y max out 0.035
Stabilize released pitch when collective up Stability yes input CyclicY = 0; input Collective = 1; WorldRotation_Deg Y > 0 (Nose up) PID P 0.0122173 I 0 D 0.0305433 on LocalAngularVelocity_DegPerS Y
Stabilize released pitch when collective down Stability no input CyclicY = 0; input Collective = -1; WorldRotation_Deg Y < 0 (Nose down) PID P 0.00872665 I 0 D 0.0244346 on LocalAngularVelocity_DegPerS Y
Snap to 0 skid pitch TurnCoordination yes input CyclicY = 0; WorldVelocity_KmPerH Length > 18 (Speed must be above threshold to avoid faulty skid angles); SkidAngle_Deg Y < 0.572958 PID P 0 I 0 D 0.00767945 on SkidAngle_Deg Y
Dampen released inputs Core yes input CyclicY = 0 damp via INTERP_TO InterpSpeed 7

Roll

Assist Category Enabled Conditions Body
Dampen pressed inputs Core yes input CyclicX = 1 damp via INTERP_TO InterpSpeed 7
Set to 0 on ground Core yes on ground; input CyclicX = 0 set to 0
Stabilize after input released Stability yes stable (LocalAngularVelocity_DegPerS X below 2.86479); input CyclicX = 0 PID P 0.20944 I 0.00174533 D 0.0872665 on LocalAngularVelocity_DegPerS X
Level at low speeds Stability yes input CyclicX = 0; WorldVelocity_KmPerH Length < 36 (At low speeds) PID P 0.00436332 I 0 D 0.00349066 on WorldRotation_Deg X max out 0.035
Prevent drag torque overshoot Core no LocalAngularVelocity_DegPerS X < 28.6479 (Roll speed close to zero); input CyclicX = 0 PID P 0.0872665 I 0 D 0.0523599 on LocalAngularVelocity_DegPerS X
Dampen inputs Core no input CyclicX = 0 damp via INTERP_TO InterpSpeed 4

Yaw

Assist Category Enabled Conditions Body
Dampen pressed inputs Core yes input Pedals = 1 damp via INTERP_TO InterpSpeed 7
Set to 0 on ground Core no on ground; input Pedals = 0 set to 0
Stabilize after input released Stability yes stable (LocalAngularVelocity_DegPerS Z below 0.286479); input Pedals = 0 PID P 0.2 I 0.05 D 0.10472 on LocalAngularVelocity_DegPerS Z
Prevent drag torque overshoot Core no LocalAngularVelocity_DegPerS Z < 5.72958 (Yaw value close to zero); input Pedals = 0 PID P 0.10472 I 0 D 0.10472 on LocalAngularVelocity_DegPerS Z
Dampen angular velocity near 0 yaw Core yes SkidAngle_Deg Z < 18.9076; input Pedals = 0; LocalAngularVelocity_DegPerS Z > 2.86479 (Don’t dampen low yaw angular speed as it is drag trying to aling the heli with the flight direction) PID P 0.0523599 I 0 D 0.0523599 on LocalAngularVelocity_DegPerS Z
Dampen inputs Core yes input Pedals = 0 damp via INTERP_TO InterpSpeed 20

Collective

Assist Category Enabled Conditions Body
Limit climb rate EnvelopeLimits yes WorldVelocity_KmPerH Z > 36; input Collective = 1 PID P 0.111111 I 0 D 0.166667 on WorldVelocity_KmPerH Z target 36
Limit sink rate EnvelopeLimits no WorldVelocity_KmPerH Z < -50; input Collective = 1 PID P 0.166667 I 0 D 0.111111 on WorldVelocity_KmPerH Z target -31.32
Reset collective on ground when engaged Core no was on ground at start; input Collective = 1 damp via EASE_IN_EASE_OUT InterpTimeS 2.5 exp 3
Dampen pressed inputs - up Core yes input Collective = 1 damp via EASE_IN_EASE_OUT InterpTimeS 1.5 exp 1.25
Dampen pressed inputs - down Core yes input Collective = -1 damp via EASE_IN_EASE_OUT InterpTimeS 1.5 exp 1.25
Set to -1 on ground Core yes input Collective = 0; on ground set to -1
Stabilize after input released AutoHover yes stable (WorldVelocity_KmPerH Z below 0.00036); input Collective = 0 PID P 0.0555556 I 0 D 0.0555556 on WorldVelocity_KmPerH Z
Hover assist AutoHover yes input Collective = 0; has pilot PID P 0.0555556 I 0 D 0.0555556 on WorldVelocity_KmPerH Z
Dampen released inputs Core yes input Collective = 0 damp via EASE_IN_EASE_OUT InterpTimeS 1.5 exp 1.5

ROT_03 (DA_ROT_03_FlightCharacteristicsDataAsset2000KGLight)

Rotor: MaxLiftCoeff 1.25, LowAltitude_m 75, HighAltitude_m 250, MaxAltitude_m 325, HighAltitudeRotorEfficiency 0.75, MaxAltitudeRotorEfficiency 0.45, TailRotorNeutralTorque 6e+08.
Control force: PitchControlForce Type RotorBladeAngle, MaxTorque 4.8e+09, MaxRotorBladeAngleDelta 2; RollControlForce Type RotorBladeAngle, MaxTorque 1.5e+09, MaxRotorBladeAngleDelta 0.6; YawControlForce MaxTorque 3.7e+07; CollectiveControlForce Type RotorBladeAngle, MinForce 400000, MaxForce 2.8e+06, MinRotorBladeAngleDelta -3, MaxRotorBladeAngleDelta 14.5.

Pitch

Assist Category Enabled Conditions Body
Stabilize after input released Stability yes input CyclicY = 0; stable (LocalAngularVelocity_DegPerS Y below 0.572958, for 0.06 s) PID P 0.02 I 0 D 0 on LocalAngularVelocity_DegPerS Y
Pitch input pressed Core yes input CyclicY GreaterThan 0 RotaryMovementControlMultiAssist
Pitch input released Core yes input CyclicY = 0 RotaryMovementControlMultiAssist

Roll

Assist Category Enabled Conditions Body
Stabilize after input released Stability yes input CyclicX = 0; stable (LocalAngularVelocity_DegPerS X below 0.6, for 0.3 s) PID P 0.1 I 0.002 D 0.05 on LocalAngularVelocity_DegPerS X
Roll input pressed Core yes input CyclicX GreaterThan 0 RotaryMovementControlMultiAssist
Roll input released Core yes input CyclicX = 0 RotaryMovementControlMultiAssist

Yaw

Assist Category Enabled Conditions Body
Yaw Damping Core yes input Pedals = 0 damp via EASE_IN InterpTimeS 0.35 exp 2.5
Stabilize after input released Stability yes input Pedals = 0; stable (LocalAngularVelocity_DegPerS Z below 1, for 0.5 s); YawLimitedAtSpeed PID P 0.45 I 0.05 D 0.0872665 on LocalAngularVelocity_DegPerS Z
Pedals input pressed Core yes input Pedals GreaterThan 0.05 RotaryMovementControlMultiAssist
Pedals input released Core yes input Pedals = 0 RotaryMovementControlMultiAssist

Collective

Assist Category Enabled Conditions Body
Limit climb rate EnvelopeLimits yes WorldVelocity_KmPerH Z > 36; input Collective = 1 PID P 0.0555556 I 0 D 0.0555556 on WorldVelocity_KmPerH Z target 36
Limit sink rate EnvelopeLimits no WorldVelocity_KmPerH Z < -36; input Collective = 1 PID P 0 I 0 D 0 on WorldVelocity_KmPerH Z target -36
Reset collective on ground when engaged Core no was on ground at start; input Collective = 1 damp via EASE_IN_EASE_OUT InterpTimeS 2.5 exp 3
Dampen pressed inputs - up Core yes input Collective = 1 damp via EASE_IN_EASE_OUT InterpTimeS 1.5 exp 1.25
Dampen pressed inputs - down Core yes input Collective = -1 damp via EASE_IN_EASE_OUT InterpTimeS 1.5 exp 1.25
Set to -1 on ground Core yes input Collective = 0; on ground set to -1
Stabilize after input released AutoHover yes stable (WorldVelocity_KmPerH Z below 0.00036); input Collective = 0 PID P 0.02 I 0 D 0.02 on WorldVelocity_KmPerH Z
Hover assist AutoHover yes input Collective = 0; has pilot PID P 0.555556 I 0 D 0.555556 on WorldVelocity_KmPerH Z
Dampen released inputs Core yes input Collective = 0 damp via EASE_IN_EASE_OUT InterpTimeS 1.5 exp 1.5

ROT_04 (DA_ROT_04_FlightCharacteristicsDataAsset)

Rotor: MaxLiftCoeff 5.75, StallLiftCoeff 3, RotorRadius 800, LiftForcesAppliedAtRadius 275, LowAltitude_m 50, HighAltitude_m 250, MaxAltitude_m 350, HighAltitudeRotorEfficiency 0.65, MaxAltitudeRotorEfficiency 0.4, TailRotorNeutralTorque 6e+08.
Control force: PitchControlForce Type RotorBladeAngle, MaxTorque 4.8e+09, MaxRotorBladeAngleDelta 6; RollControlForce Type RotorBladeAngle, MaxTorque 1.5e+09, MaxRotorBladeAngleDelta 0.85; YawControlForce MaxTorque 5e+08; CollectiveControlForce Type RotorBladeAngle, MinForce 400000, MaxForce 3.4e+06, MinRotorBladeAngleDelta -1.9, MaxRotorBladeAngleDelta 10.67.

Pitch

Assist Category Enabled Conditions Body
Stabilize after input released Stability yes stable (LocalAngularVelocity_DegPerS Y below 0.572958, for 0.06 s); input CyclicY = 0 PID P 0.296706 I 0 D 0.10472 on LocalAngularVelocity_DegPerS Y
Pitch input pressed Core yes input CyclicY GreaterThan 0 RotaryMovementControlMultiAssist
Pitch input released Core yes input CyclicY = 0 RotaryMovementControlMultiAssist

Roll

Assist Category Enabled Conditions Body
Stabilize after input released Stability yes stable (LocalAngularVelocity_DegPerS X below 0.6, for 0.5 s); input CyclicX = 0 PID P 0.335103 I 0 D 0.125664 on LocalAngularVelocity_DegPerS X max out 10
Roll input pressed Core yes input CyclicX GreaterThan 0 RotaryMovementControlMultiAssist
Roll input released Core yes input CyclicX = 0 RotaryMovementControlMultiAssist

Yaw

Assist Category Enabled Conditions Body
Stabilize after input released Stability yes input Pedals = 0; stable (LocalAngularVelocity_DegPerS Z below 0.286479, for 0.06 s); YawLimitedAtSpeed PID P 0.279253 I 0 D 0.139626 on LocalAngularVelocity_DegPerS Z
Pedals input pressed Core yes input Pedals GreaterThan 0 RotaryMovementControlMultiAssist
Pedals input released Core yes input Pedals = 0 RotaryMovementControlMultiAssist

Collective

Assist Category Enabled Conditions Body
Reset when airfoil stalling Core no SmoothedInfluenceConditions set to -1
Limit climb rate EnvelopeLimits yes WorldVelocity_KmPerH Z > 36; input Collective = 1 PID P 0.35 I 0 D 0.25 on WorldVelocity_KmPerH Z target 36
Limit sink rate EnvelopeLimits yes WorldVelocity_KmPerH Z < -36; input Collective = 1 PID P 0.1 I 0 D 0.1 on WorldVelocity_KmPerH Z target -36
Reset collective on ground when engaged Core no was on ground at start; input Collective = 1 damp via EASE_IN_EASE_OUT InterpTimeS 2.5 exp 3
Dampen pressed inputs - up Core yes input Collective GreaterThan 0 damp via EASE_IN_EASE_OUT InterpTimeS 1 exp 1.25
Dampen pressed inputs - down Core yes input Collective LessThan 0 damp via EASE_IN_EASE_OUT InterpTimeS 1.5 exp 1.25
Set to -1 on ground Core yes input Collective = 0; on ground set to -1
Stabilize after input released AutoHover yes stable (WorldVelocity_KmPerH Z below 0.00036); input Collective = 0 PID P 0.0555556 I 0 D 0.0555556 on WorldVelocity_KmPerH Z
Hover assist AutoHover yes input Collective = 0; has pilot PID P 0.0555556 I 0 D 0.0555556 on WorldVelocity_KmPerH Z
Dampen released inputs Core yes input Collective = 0 damp via EASE_IN_EASE_OUT InterpTimeS 1.5 exp 1.5