Vehicle: Wheeled Simulation – Arma Reforger

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Fixed link to Desmos)
m (Text replacement - "<code>" to "<code style="display: block">")
 
(3 intermediate revisions by the same user not shown)
Line 6: Line 6:
==== General ====
==== General ====


{| class="wikitable sortable" border="1"
{| class="wikitable sortable"
!'''Param'''
! Param
!'''Type'''
! Type
!'''Unit'''
! Unit
!'''Description'''
! Description
|-
|-
| colspan="1" |
|
====== Type ======
====== Type ======
| colspan="1" |
|
| colspan="1" |
|
| colspan="1" |Type of gearbox
| Type of gearbox


* '''Automatic''' - Automatic shifting and transition to reversing, W/S - throttle/brake or brake/throttle when reversing.
* '''Automatic''' - Automatic shifting and transition to reversing, W/S - throttle/brake or brake/throttle when reversing.
* '''Manual''' - Manual shifting, W - always throttle, S - always brake, Q/E to shift gears
* '''Manual''' - Manual shifting, W - always throttle, S - always brake, Q/E to shift gears
|-
|-
| colspan="1" |
|
====== Transmission RND ======
====== Transmission RND ======
| colspan="1" |''bool''
| ''bool''
| colspan="1" |
|
| colspan="1" |Transmission have three settings: reverse, neutral and drive
| Transmission have three settings: reverse, neutral and drive
|}
|}


Line 32: Line 32:
The following are properties for smoothing the digital or small range/insensitive analog input (gamepad thumbstick). The setup should be quick and responsive enough while allowing the player to keep a smooth ride (e.g. by tapping the keys), without having to constantly counter compensate.
The following are properties for smoothing the digital or small range/insensitive analog input (gamepad thumbstick). The setup should be quick and responsive enough while allowing the player to keep a smooth ride (e.g. by tapping the keys), without having to constantly counter compensate.


{| class="wikitable sortable" border="1"
{| class="wikitable sortable"
!'''Param'''
! Param
!'''Type'''
! Type
!'''Unit'''
! Unit
!'''Description'''
! Description
|-
|-
| colspan="1" |
|
====== Steering Forward Speed ======
====== Steering Forward Speed ======
| colspan="1" |''pairs of floats''
| ''pairs of floats''
| colspan="1" |<code>[vehicle speed in km/h, steering speed in °/s]</code>
| <code style="display: block">[vehicle speed in km/h, steering speed in °/s]</code>
| colspan="1" |Pairs of velocity and steering speed at the given velocity
| Pairs of velocity and steering speed at the given velocity
|-
|-
| colspan="1" |
|
====== Steering Backward Speed ======
====== Steering Backward Speed ======
| colspan="1" |''pairs of floats''
| ''pairs of floats''
| colspan="1" |<code>[vehicle speed in km/h, steering speed in °/s]</code>
| <code style="display: block">[vehicle speed in km/h, steering speed in °/s]</code>
| colspan="1" |Pairs of velocity and counter-steering speed (recentering via input) at the given velocity
| Pairs of velocity and counter-steering speed (recentering via input) at the given velocity
|-
|-
| colspan="1" |
|
====== Steering Center Speed ======
====== Steering Center Speed ======
| colspan="1" |''pairs of floats''
| ''pairs of floats''
| colspan="1" |<code>[vehicle speed in km/h, centering speed in °/s]</code>
| <code style="display: block">[vehicle speed in km/h, centering speed in °/s]</code>
| colspan="1" |Pairs of velocity and recentering speed (when no steering input is given / caster effect) at the given velocity
| Pairs of velocity and recentering speed (when no steering input is given / caster effect) at the given velocity
|}              
|}


==== Throttle ====
==== Throttle ====


{| class="wikitable sortable" border="1"
{| class="wikitable sortable"
!'''Param'''
! Param
!'''Type'''
! Type
!'''Unit'''
! Unit
!'''Description'''
! Description
|-
|-
| colspan="1" |
|
====== Throttle Curve ======
====== Throttle Curve ======
| colspan="1" |''pairs of floats''
| ''pairs of floats''
| colspan="1" |<code>[engine rpm, amount of throttle]</code>
| <code style="display: block">[engine rpm, amount of throttle]</code>
| colspan="1" |Throttle application with respect to engine's RPM
| Throttle application with respect to engine's RPM
|-
|-
| colspan="1" |
|
====== Reverse Curve ======
====== Reverse Curve ======
| colspan="1" |''pairs of floats''
| ''pairs of floats''
| colspan="1" |<code>[engine rpm, amount of throttle]</code>
| <code style="display: block">[engine rpm, amount of throttle]</code>
| colspan="1" |Throttle application with respect to engine's RPM while in reverse
| Throttle application with respect to engine's RPM while in reverse
|-
|-
| colspan="1" |
|
====== Throttle Reaction Time ======
====== Throttle Reaction Time ======
| colspan="1" |''float''
| ''float''
| colspan="1" |<code>s</code>
| <code style="display: block">s</code>
| colspan="1" |Time (in seconds) it takes to get wanted value of throttle - e.g. to interpolate from 0.0 to 1.0 throttle input
| Time (in seconds) it takes to get wanted value of throttle - e.g. to interpolate from 0.0 to 1.0 throttle input
|-
|-
| colspan="1" |
|
====== Throttle Turbo Time ======
====== Throttle Turbo Time ======
| colspan="1" |''float''
| ''float''
| colspan="1" |<code>s</code>
| <code style="display: block">s</code>
| colspan="1" |Time (in seconds) to reach wanted value of throttle in turbo mode
| Time (in seconds) to reach wanted value of throttle in turbo mode
|-
|-
| colspan="1" |
|
====== Throttle Turbo ======
====== Throttle Turbo ======
| colspan="1" |''float''
| ''float''
| colspan="1" |
|
| colspan="1" |Amount of throttle that is reserved for turbo mode. For instance 0.2 means that without turbo, vehicle will be moving with maximum 0.8 throttle
| Amount of throttle that is reserved for turbo mode. For instance 0.2 means that without turbo, vehicle will be moving with maximum 0.8 throttle
|}
|}


==== Brake ====
==== Brake ====


{| class="wikitable sortable" border="1"
{| class="wikitable sortable"
!'''Param'''
! Param
!'''Type'''
! Type
!'''Unit'''
! Unit
!'''Description'''
! Description
|-
|-
| colspan="1" |
|
====== Braking Curve ======
====== Braking Curve ======
| colspan="1" |''pairs of floats''
| ''pairs of floats''
| colspan="1" |<code>[time in seconds, amount of braking force]</code>
| <code style="display: block">[time in seconds, amount of braking force]</code>
| colspan="1" |Brake application over time
| Brake application over time
|-
|-
| colspan="1" |
|
====== Brake Turbo Time ======
====== Brake Turbo Time ======
| colspan="1" |''float''
| ''float''
| colspan="1" |<code>s</code>
| <code style="display: block">s</code>
| colspan="1" |Time to reach wanted value of brake in turbo mode
| Time to reach wanted value of brake in turbo mode
|}
|}


==== Engine ====
==== Engine ====


{| class="wikitable sortable" border="1"
{| class="wikitable sortable"
!'''Param'''
! Param
!'''Type'''
! Type
!'''Unit'''
! Unit
!'''Description'''
! Description
|-
|-
| colspan="1" |
|
====== Max Startup Time ======
====== Max Startup Time ======
| colspan="1" |''float''
| ''float''
| colspan="1" |<code>seconds</code>
| <code style="display: block">seconds</code>
| colspan="1" |Failsafe time for the engine to start (it can also bypass animations if it is shorter)
| Failsafe time for the engine to start (it can also bypass animations if it is shorter)
|-
|-
| colspan="1" |
|
====== Max Startup Attempts ======
====== Max Startup Attempts ======
| colspan="1" |''float''
| ''float''
| colspan="1" |
|
| colspan="1" |How many times you can be "stuck" in the startup loop animation
| How many times you can be "stuck" in the startup loop animation
|-
|-
| colspan="1" |
|
====== Engine Startup Chance ======
====== Engine Startup Chance ======
| colspan="1" |''float''
| ''float''
| colspan="1" |<code>%</code>
| <code style="display: block">%</code>
| colspan="1" |Probability that each startup attempt has to turn on the engine (0 - 100) (should be tied to engine below "damaged" threshold)
| Probability that each startup attempt has to turn on the engine (0 - 100) (should be tied to engine below "damaged" threshold)
|-
|-
| colspan="1" |
|
====== Air Intakes ======
====== Air Intakes ======
| colspan="1" |''float''
| ''float''
| colspan="1" |<code>array of PointInfo classes</code>
| <code style="display: block">array of PointInfo classes</code>
| colspan="1" |Air intake positions in local vehicle space
| Air intake positions in local vehicle space
|-
|-
| colspan="1" |
|
====== Drowning Time ======
====== Drowning Time ======
| colspan="1" |''float''
| ''float''
| colspan="1" |<code>s</code>
| <code style="display: block">s</code>
| colspan="1" |Amount of time needed to completely drown the engine when all air intakes are underwater
| Amount of time needed to completely drown the engine when all air intakes are underwater
|-
|-
| colspan="1" |
|
====== Shutdown Time ======
====== Shutdown Time ======
| colspan="1" |''float''
| ''float''
| colspan="1" |<code>s</code>
| <code style="display: block">s</code>
| colspan="1" |Amount of time (some) vehicle systems automatically toggle off after the shutdown
| Amount of time (some) vehicle systems automatically toggle off after the shutdown
|-
|-
| colspan="1" |
|
====== Max Lights Time ======
====== Max Lights Time ======
| colspan="1" |''float''
| ''float''
| colspan="1" |<code>s</code>
| <code style="display: block">s</code>
| colspan="1" |Maximum amount of time the light toggle should take (or if there are no animations)
| Maximum amount of time the light toggle should take (or if there are no animations)
|}
|}


==== Clutch ====
==== Clutch ====


{| class="wikitable sortable" border="1"
{| class="wikitable sortable"
!'''Param'''
! Param
!'''Type'''
! Type
!'''Unit'''
! Unit
!'''Description'''
! Description
|-
|-
| colspan="1" |
|
====== Clutch Uncouple Time ======
====== Clutch Uncouple Time ======
| colspan="1" |''float''
| ''float''
| colspan="1" |<code>seconds</code>
| <code style="display: block">seconds</code>
| colspan="1" |Time to disengage clutch before switching gears
| Time to disengage clutch before switching gears
|-
|-
| colspan="1" |
|
====== Clutch Couple Time ======
====== Clutch Couple Time ======
| colspan="1" |''float''
| ''float''
| colspan="1" |<code>seconds</code>
| <code style="display: block">seconds</code>
| colspan="1" |Time to engage clutch after switching gears
| Time to engage clutch after switching gears
|-
|-
| colspan="1" |
|
====== Clutch Uncouple Rpm ======
====== Clutch Uncouple Rpm ======
| colspan="1" |''float''
| ''float''
| colspan="1" |<code>RPM</code>
| <code style="display: block">RPM</code>
| colspan="1" |Engine RPM at which clutch is fully uncoupled while moving off
| Engine RPM at which clutch is fully uncoupled while moving off
|-
|-
| colspan="1" |
|
====== Clutch Couple Rpm ======
====== Clutch Couple Rpm ======
| colspan="1" |''float''
| ''float''
| colspan="1" |<code>RPM</code>
| <code style="display: block">RPM</code>
| colspan="1" |Engine RPM at which clutch is fully coupled while moving off
| Engine RPM at which clutch is fully coupled while moving off
|-
|-
| colspan="1" |
|
====== Clutch Uncouple Factor ======
====== Clutch Uncouple Factor ======
| colspan="1" |''float''
| ''float''
| colspan="1" |
|
| colspan="1" |Clutch uncouple RPM factor while moving off uphill or downhill
| Clutch uncouple RPM factor while moving off uphill or downhill
|-
|-
| colspan="1" |
|
====== Clutch Couple Factor ======
====== Clutch Couple Factor ======
| colspan="1" |''float''
| ''float''
| colspan="1" |
|
| colspan="1" |Clutch couple RPM factor while moving off uphill or downhill
| Clutch couple RPM factor while moving off uphill or downhill
|-
|-
| colspan="1" |
|
====== Clutch Minimum Position ======
====== Clutch Minimum Position ======
| colspan="1" |''float''
| ''float''
| colspan="1" |
|
| colspan="1" |Minimum clutch position while moving off
| Minimum clutch position while moving off
|-
|-
| colspan="1" |
|
====== Clutch Minimum Factor ======
====== Clutch Minimum Factor ======
| colspan="1" |''float''
| ''float''
| colspan="1" |
|
| colspan="1" |Minimum clutch position factor while moving off uphill or downhill
| Minimum clutch position factor while moving off uphill or downhill
|}
|}


==== Shifting ====
==== Shifting ====


{| class="wikitable sortable" border="1"
{| class="wikitable sortable"
!'''Param'''
! Param
!'''Type'''
! Type
!'''Unit'''
! Unit
!'''Description'''
! Description
|-
|-
| colspan="1" |
|
====== Slope Smoothing ======
====== Slope Smoothing ======
| colspan="1" |''float''
| ''float''
| colspan="1" |
|
| colspan="1" |Factor of filter that smooths out upshift and downshift RPMs
| Factor of filter that smooths out upshift and downshift RPMs
|-
|-
| colspan="1" |
|
====== Latency ======
====== Latency ======
| colspan="1" |''float''
| ''float''
| colspan="1" |<code>seconds</code>
| <code style="display: block">seconds</code>
| colspan="1" |Minimum time between gear switches
| Minimum time between gear switches
|-
|-
| colspan="1" |
|
====== Up Shift Factor ======
====== Up Shift Factor ======
| colspan="1" |''float''
| ''float''
| colspan="1" |
|
| colspan="1" |Upshift RPM factor while going uphill or downhill
| Upshift RPM factor while going uphill or downhill
|-
|-
| colspan="1" |
|
====== Up Shift Rpm ======
====== Up Shift Rpm ======
| colspan="1" |''float''
| ''float''
| colspan="1" |<code>RPM</code>
| <code style="display: block">RPM</code>
| colspan="1" |Engine RPM required for upshifting
| Engine RPM required for upshifting
|-
|-
| colspan="1" |
|
====== Down Shift Factor ======
====== Down Shift Factor ======
| colspan="1" |''float''
| ''float''
| colspan="1" |
|
| colspan="1" |Downshift RPM factor while going uphill or downhill
| Downshift RPM factor while going uphill or downhill
|-
|-
| colspan="1" |
|
====== Down Shift Rpm ======
====== Down Shift Rpm ======
| colspan="1" |''float''
| ''float''
| colspan="1" |<code>RPM</code>
| <code style="display: block">RPM</code>
| colspan="1" |Engine RPM required for downshifting
| Engine RPM required for downshifting
|-
|-
| colspan="1" |
|
====== Turbo Shift Factor ======
====== Turbo Shift Factor ======
| colspan="1" |''float''
| ''float''
| colspan="1" |
|
| colspan="1" |Upshifting and downshifting RPM ratio in Turbo mode
| Upshifting and downshifting RPM ratio in Turbo mode
|}
|}


Line 282: Line 282:
==== General ====
==== General ====


{| class="wikitable sortable" border="1"
{| class="wikitable sortable"
!'''Param'''
! Param
!'''Type'''
! Type
!'''Unit'''
! Unit
!'''Description'''
! Description
|-
|-
| colspan="1" |
|
====== Solver Type ======
====== Solver Type ======
| colspan="1" |
|
| colspan="1" |
|
| colspan="1" |Solver selector - only V1 solver is available right now
| Solver selector - only V1 solver is available right now
|-
|-
| colspan="1" |
|
====== Solver Update Rate ======
====== Solver Update Rate ======
| colspan="1" |
|
| colspan="1" |<code>Hz</code>
| <code style="display: block">Hz</code>
| colspan="1" |Solver update rate in Hz (number of ticks per second)
| Solver update rate in Hz (number of ticks per second)
|}
|}


Line 306: Line 306:
The engine is simulated as rotating cylinder around its central axis (simplification of crankshaft).
The engine is simulated as rotating cylinder around its central axis (simplification of crankshaft).
{| class="wikitable"
{| class="wikitable"
! colspan="1" |Param
! Param
! colspan="1" |Type
! Type
! colspan="1" |Unit
! Unit
! colspan="1" |Description
! Description
! colspan="1" |References
! References
|-
|-
| colspan="1" |
|
====== Inertia ======
====== Inertia ======
| colspan="1" |''float''
| ''float''
| colspan="1" |<code>kg.m<sup>2</sup></code>
| <code style="display: block">kg.m<sup>2</sup></code>
| colspan="1" |Moment of inertia
| Moment of inertia
| colspan="1" |[[Image:armareforger-new-engine-inertia.png]]
|[[File:armareforger-new-engine-inertia.png|500px]]
<nowiki>https://www.researchgate.net/publication/258176892_Evaluation_of_variable_mass_moment_of_inertia_of_the_piston-crank_mechanism_of_an_internal_combustion_engine</nowiki>
<nowiki>https://www.researchgate.net/publication/258176892_Evaluation_of_variable_mass_moment_of_inertia_of_the_piston-crank_mechanism_of_an_internal_combustion_engine</nowiki>
|-
|-
| colspan="1" |
|
====== Max Power ======
====== Max Power ======
| colspan="1" |''float''
| ''float''
| colspan="1" |<code>kW</code>
| <code style="display: block">kW</code>
| colspan="1" |Maximum power that the engine can provide
| Maximum power that the engine can provide
| rowspan="9" |
| rowspan="9" |
*
*
* [[Image:armareforger-vehicle-wheeled-engine-graph.png]]  
* [[File:armareforger-vehicle-wheeled-engine-graph.png|500px]]
You can use [https://www.desmos.com/calculator/j63rwoyvnh '''this calculator'''] to visualize RPM curve
You can use [https://www.desmos.com/calculator/j63rwoyvnh '''this calculator'''] to visualize RPM curve
* <code>maxTorqueRPM <= maxPowerRPM < maxRPM</code>
* <code style="display: block">maxTorqueRPM <= maxPowerRPM < maxRPM</code>
* Use <nowiki>https://www.automobile-catalog.com/</nowiki> , <nowiki>https://www.dieselhub.com/</nowiki> and similar sources to check for real torque/power curves of the engines
* Use <nowiki>https://www.automobile-catalog.com/</nowiki>, <nowiki>https://www.dieselhub.com/</nowiki> and similar sources to check for real torque/power curves of the engines
|-
|-
|
|
====== Max Torque ======
====== Max Torque ======
| colspan="1" |''float''
| ''float''
|<code>Nm</code>
| <code style="display: block">Nm</code>
|Maximum torque that engine can provide (peak torque)
| Maximum torque that engine can provide (peak torque)
|-
|-
| colspan="1" |
|
====== Rpm Max Power ======
====== Rpm Max Power ======
| colspan="1" |''float''
| ''float''
| colspan="1" |<code>RPM</code>
| <code style="display: block">RPM</code>
| colspan="1" |RPM where engine outputs maximum power
| RPM where engine outputs maximum power
|-
|-
|
|
====== Rpm MaxT orque ======
====== Rpm MaxT orque ======
| colspan="1" |''float''
| ''float''
|<code>RPM</code>
| <code style="display: block">RPM</code>
|RPM where maximum torque is produced
| RPM where maximum torque is produced
|-
|-
| colspan="1" |
|
====== Rpm Idle ======
====== Rpm Idle ======
| colspan="1" |''float''
| ''float''
| colspan="1" |<code>RPM</code>
| <code style="display: block">RPM</code>
| colspan="1" |RPM when engine is idling, e.g. in neutral
| RPM when engine is idling, e.g. in neutral
|-
|-
| colspan="1" |
|
====== Rpm Redline ======
====== Rpm Redline ======
| colspan="1" |''float''
| ''float''
| colspan="1" |<code>RPM</code>
| <code style="display: block">RPM</code>
| colspan="1" |Redline RPM
| Redline RPM


'''This parameter is currently ignored'''  
'''This parameter is currently ignored'''
|-
|-
| colspan="1" |
|
====== Rpm Max ======
====== Rpm Max ======
| colspan="1" |''float''
| ''float''
| colspan="1" |<code>RPM</code>
| <code style="display: block">RPM</code>
| colspan="1" |Maximum RPM
| Maximum RPM
|-
|-
| colspan="1" |
|
====== Steepness ======
====== Steepness ======
| colspan="1" |''float''
| ''float''
| colspan="1" |
|
| colspan="1" |Controls how fast engine can reach max torque. It can be used to flatten the torque curve before max torque rpm are reached
| Controls how fast engine can reach max torque. It can be used to flatten the torque curve before max torque rpm are reached
|-
|-
| colspan="1" |
|
====== Friction ======
====== Friction ======
| colspan="1" |''float''
| ''float''
| colspan="1" |
|
| colspan="1" |Engine's braking torque
| Engine's braking torque
|-
|-
| colspan="1" |
|
====== Output ======
====== Output ======
| colspan="1" |
|
| colspan="1" |
|
| colspan="1" |Powertrain part driven by the engine (clutch)
| Powertrain part driven by the engine (clutch)
| colspan="1" |
|
|}
|}


==== Clutch ====
==== Clutch ====


{| class="wikitable sortable" border="1"
{| class="wikitable sortable"
!'''Param'''
! Param
!'''Type'''
! Type
!'''Unit'''
! Unit
!'''Description'''
! Description
|-
|-
| colspan="1" |
|
====== Max Clutch Torque ======
====== Max Clutch Torque ======
| colspan="1" |''float''
| ''float''
| colspan="1" |<code>Nm</code>
| <code style="display: block">Nm</code>
| colspan="1" |Maximum torque that clutch can provide. (1.6*MaxTorque can be a good starting point)
| Maximum torque that clutch can provide. (1.6*MaxTorque can be a good starting point)


'''This parameter is currently ignored'''  
'''This parameter is currently ignored'''
|-
|-
| colspan="1" |
|
====== Output ======
====== Output ======
| colspan="1" |
|
| colspan="1" |
|
| colspan="1" |Powertrain part driven by the clutch (gearbox)
| Powertrain part driven by the clutch (gearbox)
|}
|}


==== Gearbox ====
==== Gearbox ====


{| class="wikitable sortable" border="1"
{| class="wikitable sortable"
!'''Param'''
! Param
!'''Type'''
! Type
!'''Unit'''
! Unit
!'''Description'''
! Description
|-
|-
| colspan="1" |
|
====== Reverse ======
====== Reverse ======
| colspan="1" |''float''
| ''float''
| colspan="1" |
|
| colspan="1" |Reverse gear ratio
| Reverse gear ratio
|-
|-
| colspan="1" |
|
====== Forward ======
====== Forward ======
| colspan="1" |''array of floats''
| ''array of floats''
| colspan="1" |
|
| colspan="1" |Array of forward gear ratios, order of the values are mapped to gears respectively
| Array of forward gear ratios, order of the values are mapped to gears respectively
|-
|-
| colspan="1" |
|
====== Efficiency ======
====== Efficiency ======
| colspan="1" |''float''
| ''float''
| colspan="1" |
|
| colspan="1" |Transmission efficiency - scales the engine output passed down
| Transmission efficiency - scales the engine output passed down
|-
|-
| colspan="1" |
|
====== Output ======
====== Output ======
| colspan="1" |
|
| colspan="1" |
|
| colspan="1" |Powertrain part driven by the gearbox (differential)
| Powertrain part driven by the gearbox (differential)
|}
|}


==== Differentials ====
==== Differentials ====
{| class="wikitable"
{| class="wikitable"
!Param
! Param
!Type
! Type
!Unit
! Unit
!Description
! Description
|-
|-
| rowspan="2" |
| rowspan="2" |
====== Type ======
====== Type ======
| colspan="1" |'''Open'''
| '''Open'''
| colspan="1" |
|
| colspan="1" |Same torque on both outputs, different rotational speeds
| Same torque on both outputs, different rotational speeds
|-
|-
| colspan="1" |'''LSD'''
| '''LSD'''
| colspan="1" |
|
| colspan="1" |Limited slip differential - limiting rotational difference between outputs. Opens Anti slip and Anti slip torque parameters.
| Limited slip differential - limiting rotational difference between outputs. Opens Anti slip and Anti slip torque parameters.
|-
|-
| colspan="1" |
|
====== Ratio ======
====== Ratio ======
| colspan="1" |''float''
| ''float''
| colspan="1" |
|
| colspan="1" |Differential ratio (sometime "final drive")
| Differential ratio (sometime "final drive")
|-
|-
| colspan="1" |
|
====== Strength ======
====== Strength ======
| colspan="1" |''float''
| ''float''
| colspan="1" |
|
| colspan="1" |Determines the magnitude of the extra force that is applied to the gripping wheel
| Determines the magnitude of the extra force that is applied to the gripping wheel
|-
|-
| colspan="1" |
|
====== Output0 ======
====== Output0 ======
| colspan="1" |
|
|
|
| rowspan="2" |Powertrain parts driven by the differential (other differential or axle differential)
| rowspan="2" |Powertrain parts driven by the differential (other differential or axle differential)
|-
|-
| colspan="1" |
|
====== Output1 ======
====== Output1 ======
| colspan="1" |
|
|
|
|}
|}
Line 489: Line 489:
==== Axles ====
==== Axles ====


{| class="wikitable sortable" border="1"
{| class="wikitable sortable"
!'''Param'''
! Param
!'''Type'''
! Type
!'''Unit'''
! Unit
!'''Description'''
! Description
|-
|-
| colspan="1" |
|
====== Torque Share ======
====== Torque Share ======
| colspan="1" |''float''
| ''float''
| colspan="1" |
|
| colspan="1" |Defines how much torque is delivered to this axle. Sum of Torque Share for all axles should be equal to 1
| Defines how much torque is delivered to this axle. Sum of Torque Share for all axles should be equal to 1
|-
|-
| colspan="1" |
|
====== Has Handbrake ======
====== Has Handbrake ======
| colspan="1" |''bool''
| ''bool''
| colspan="1" |
|
| colspan="1" |Determines whether this axle is used for handbrakes. Handbrake force is same as Brake Torque
| Determines whether this axle is used for handbrakes. Handbrake force is same as Brake Torque
|}
|}


===== (Axle) Differential =====
===== (Axle) Differential =====
{| class="wikitable"
{| class="wikitable"
!Param
! Param
!Type
! Type
!Unit
! Unit
!Description
! Description
|-
|-
| colspan="4" |<same as differentials>
| colspan="4" |<same as differentials>
|-
|-
| colspan="1" |
|
====== Output0 ======
====== Output0 ======
| colspan="1" |
|
|
|
| rowspan="2" |Driven wheels
| rowspan="2" |Driven wheels
|-
|-
| colspan="1" |
|
====== Output1 ======
====== Output1 ======
| colspan="1" |
|
|
|
|}
|}
Line 532: Line 532:
Accelerating/braking/turning should noticeably shift the weight of the vehicle. Weight shifting affects the grip of the tires - allowing more grip on the side with more weight. Center of mass should be set realistically high and the tendency to roll should be limited by a sway (anti-roll) bar if necesary, not by setting the CoM below the vehicle or just the wheel center.
Accelerating/braking/turning should noticeably shift the weight of the vehicle. Weight shifting affects the grip of the tires - allowing more grip on the side with more weight. Center of mass should be set realistically high and the tendency to roll should be limited by a sway (anti-roll) bar if necesary, not by setting the CoM below the vehicle or just the wheel center.


{| class="wikitable sortable" border="1"
{| class="wikitable sortable"
!'''Param'''
! Param
!'''Type'''
! Type
!'''Unit'''
! Unit
!'''Description'''
! Description
|-
|-
| colspan="1" |
|
====== Max Steering Angle ======
====== Max Steering Angle ======
| colspan="1" |''float''
| ''float''
| colspan="1" |<code>degrees</code>
| <code style="display: block">degrees</code>
| colspan="1" |Specifies the maximum steering angle of this axle, if negative value is given, the axis will steer in opposite direction of the steering wheel.
| Specifies the maximum steering angle of this axle, if negative value is given, the axis will steer in opposite direction of the steering wheel.
|-
|-
| colspan="1" |
|
====== Spring Rate ======
====== Spring Rate ======
| colspan="1" |''float''
| ''float''
| colspan="1" |
|
  N/mm
  N/mm
| colspan="1" |Spring force per mm.  
| Spring force per mm.
|-
|-
| colspan="1" |
|
====== Compression Damper ======
====== Compression Damper ======
| colspan="1" |''float''
| ''float''
| colspan="1" |
|
  Ns/m
  Ns/m
| colspan="1" |Compression damper force per 1m/s.  
| Compression damper force per 1m/s.
|-
|-
| colspan="1" |
|
====== Relaxation Damper ======
====== Relaxation Damper ======
| colspan="1" |''float''
| ''float''
| colspan="1" |
|
  Ns/m
  Ns/m
| colspan="1" |Relaxation damper force per 1m/s.  
| Relaxation damper force per 1m/s.
|-
|-
| colspan="1" |
|
====== Max Travel Up ======
====== Max Travel Up ======
| colspan="1" |''float''
| ''float''
| colspan="1" |<code>m</code>
| <code style="display: block">m</code>
| colspan="1" |Maximum distance that the suspension can be compressed from modeled position. Standard cars 0.06 - 0.1 m. Off-road cars >0.1 m.  
| Maximum distance that the suspension can be compressed from modeled position. Standard cars 0.06 - 0.1 m. Off-road cars >0.1 m.
|-
|-
| colspan="1" |
|
====== Max Travel Down ======
====== Max Travel Down ======
| colspan="1" |''float''
| ''float''
| colspan="1" |<code>m</code>
| <code style="display: block">m</code>
| colspan="1" |Maximum distance that the suspension can be expanded from modeled position. Standard cars 0.07 - 0.12 m. Off-road cars >0.1 m.  
| Maximum distance that the suspension can be expanded from modeled position. Standard cars 0.07 - 0.12 m. Off-road cars >0.1 m.
|}
|}


===== Wheel =====
===== Wheel =====


{| class="wikitable sortable" border="1"
{| class="wikitable sortable"
!'''Param'''
! Param
!'''Type'''
! Type
!'''Unit'''
! Unit
!'''Description'''
! Description
|-
|-
| colspan="1" |
|
====== Radius ======
====== Radius ======
| colspan="1" |''float''
| ''float''
| colspan="1" |<code>m</code>
| <code style="display: block">m</code>
| colspan="1" |Radius of the wheel
| Radius of the wheel
|-
|-
| colspan="1" |
|
====== Ratio ======
====== Ratio ======
| colspan="1" |''float''
| ''float''
| colspan="1" |
|
| colspan="1" |Wheel reduction ratio
| Wheel reduction ratio
|-
|-
| colspan="1" |
|
====== Mass ======
====== Mass ======
| colspan="1" |''float''
| ''float''
| colspan="1" |<code>kg</code>
| <code style="display: block">kg</code>
| colspan="1" |Mass of the wheel on this axle
| Mass of the wheel on this axle
|-
|-
| colspan="1" |
|
====== Brake Torque ======
====== Brake Torque ======
| colspan="1" |''float''
| ''float''
| colspan="1" |<code>Nm</code>
| <code style="display: block">Nm</code>
| colspan="1" |Amount of brake torque applied to each wheel on this axle
| Amount of brake torque applied to each wheel on this axle
|}
|}


===== Tyre =====
===== Tyre =====


{| class="wikitable sortable" border="1"
{| class="wikitable sortable"
!'''Param'''
! Param
!'''Type'''
! Type
!'''Unit'''
! Unit
!'''Description'''
! Description
|-
|-
| colspan="1" |
|
====== Rolling Resistance ======
====== Rolling Resistance ======
| colspan="1" |''float''
| ''float''
| colspan="1" |
|
| colspan="1" |'''Currently not used in game '''
| '''Currently not used in game '''


Linearly proportional to speed. Acts against the wheel torque. For limiting acceleration. (in addition to surface property)
Linearly proportional to speed. Acts against the wheel torque. For limiting acceleration. (in addition to surface property)
|-
|-
| colspan="1" |
|
====== Rolling Drag ======
====== Rolling Drag ======
| colspan="1" |''float''
| ''float''
| colspan="1" |
|
| colspan="1" |'''Currently not used in game '''
| '''Currently not used in game '''


Proportional to speed squared. For limiting high speeds. (in addition to surface property)
Proportional to speed squared. For limiting high speeds. (in addition to surface property)
|-
|-
| colspan="1" |
|
====== Roughness ======
====== Roughness ======
| colspan="1" |''float''
| ''float''
| colspan="1" |<code>m</code>
| <code style="display: block">m</code>
| colspan="1" |Bumpiness height - how bumpy is the wheel itself (in addition to surface property)
| Bumpiness height - how bumpy is the wheel itself (in addition to surface property)
|-
|-
| colspan="1" |
|
====== Longitudinal Friction ======
====== Longitudinal Friction ======
| colspan="1" |''float''
| ''float''
| colspan="1" |
|
| colspan="1" |Directly affects tyre grip in longitudinal direction
| Directly affects tyre grip in longitudinal direction
|-
|-
| colspan="1" |
|
====== Lateral Friction ======
====== Lateral Friction ======
| colspan="1" |''float''
| ''float''
| colspan="1" |
|
| colspan="1" |Directly affects tyre grip in lateral direction
| Directly affects tyre grip in lateral direction
|-
|-
| colspan="1" |
|
====== Tread ======
====== Tread ======
| colspan="1" |''float''
| ''float''
| colspan="1" |
|
| colspan="1" |Ratio of the "Thread" - related to how well wheel performs on specific surface.
| Ratio of the "Thread" - related to how well wheel performs on specific surface.
|}
|}


===== Swaybar =====
===== Swaybar =====


{| class="wikitable sortable" border="1"
{| class="wikitable sortable"
!'''Param'''
! Param
!'''Type'''
! Type
!'''Unit'''
! Unit
!'''Description'''
! Description
|-
|-
| colspan="1" |
|
====== Stiffness ======
====== Stiffness ======
| colspan="1" |''float''
| ''float''
| colspan="1" |<code>N</code>
| <code style="display: block">N</code>
| colspan="1" |Sway bar stiffness ( anti-roll force )
| Sway bar stiffness ( anti-roll force )
|}
|}


Line 683: Line 683:
** Enables manual override of vehicle inertia - the way how to "simulate" mass distribution on the vehicle.
** Enables manual override of vehicle inertia - the way how to "simulate" mass distribution on the vehicle.
* '''InertiaOverride'''
* '''InertiaOverride'''
** Inertia values around each axis. Copy initial values from diag or via context menu opened on <code>VehicleWheeledSimulation</code> on the Entity instance (you have to ''Apply to prefab'' later)
** Inertia values around each axis. Copy initial values from diag or via context menu opened on <code style="display: block">VehicleWheeledSimulation</code> on the Entity instance (you have to ''Apply to prefab'' later)
{{Clear}}
{{Clear}}


===== Aerodynamics =====
===== Aerodynamics =====


{| class="wikitable sortable" border="1"
{| class="wikitable sortable"
!'''Param'''
! Param
!'''Type'''
! Type
!'''Unit'''
! Unit
!'''Description'''
! Description
|-
|-
| colspan="1" |
|
====== Reference Area ======
====== Reference Area ======
| colspan="1" |''float''
| ''float''
| colspan="1" |<code>m<sup>2</sup></code>
| <code style="display: block">m<sup>2</sup></code>
| colspan="1" |Drag reference area - see following page for more details <nowiki>https://en.wikipedia.org/wiki/Automobile_drag_coefficient#Drag_area</nowiki>
| Drag reference area - see following page for more details <nowiki>https://en.wikipedia.org/wiki/Automobile_drag_coefficient#Drag_area</nowiki>
|-
|-
| colspan="1" |
|
====== Drag coefficient ======
====== Drag coefficient ======
| colspan="1" |''float''
| ''float''
| colspan="1" |
|
| colspan="1" |Drag coefficient - see following page for more details <nowiki>https://en.wikipedia.org/wiki/Automobile_drag_coefficient#Typical_drag_coefficients</nowiki>
| Drag coefficient - see following page for more details <nowiki>https://en.wikipedia.org/wiki/Automobile_drag_coefficient#Typical_drag_coefficients</nowiki>
|}
|}


Line 712: Line 712:
* <nowiki>http://www.racer.nl/pacejka/pacplay.htm</nowiki>
* <nowiki>http://www.racer.nl/pacejka/pacplay.htm</nowiki>


Fill in initial values via context menu opened on <code>VehicleWheeledSimulation</code> on the Entity instance (you have to ''Apply to prefab'' later)
Fill in initial values via context menu opened on <code style="display: block">VehicleWheeledSimulation</code> on the Entity instance (you have to ''Apply to prefab'' later)
{{Clear}}
{{Clear}}
===== Longitudinal =====
===== Longitudinal =====




{| class="wikitable sortable" border="1"
{| class="wikitable sortable"
!'''Param'''
! Param
!'''Role'''
! Role
!'''Units'''
! Units
!'''Typical range'''
! Typical range
!'''Sample'''
! Sample
!'''Description'''
! Description
!'''Dependency'''
! Dependency
|-
|-
====== '''b0''' ======
====== b0 ======
|Shape factor
| Shape factor
|
|
|<code>1.4 .. 1.8</code>
| <code style="display: block">1.4 .. 1.8</code>
|<code>1.5</code>
| <code style="display: block">1.5</code>
| colspan="1" |General shape of the curve. Defines the amount of falloff after the peak.
| General shape of the curve. Defines the amount of falloff after the peak.
''The Pacejka model defines b0 = 1.65 for the longitudinal force.''
''The Pacejka model defines b0 = 1.65 for the longitudinal force.''
| colspan="1" |''Load-independent''
| ''Load-independent''
|-
|-
|
|
====== b1 ======
====== b1 ======
|Load influence on longitudinal friction coefficient (*1000)
| Load influence on longitudinal friction coefficient (*1000)
|<code>1/kN</code>
| <code style="display: block">1/kN</code>
|<code>-80 .. +80</code>
| <code style="display: block">-80 .. +80</code>
|<code>0</code>
| <code style="display: block">0</code>
| colspan="1" |Change of the friction coefficient at the peak.
| Change of the friction coefficient at the peak.


Positive = more friction with more load. Negative = less friction with more load.
Positive = more friction with more load. Negative = less friction with more load.
| colspan="1" |Load-dependent
| Load-dependent
|-
|-
|
|
====== '''b2''' ======
====== b2 ======
|Longitudinal friction coefficient (*1000)
| Longitudinal friction coefficient (*1000)
|
|
|<code>900 .. 1700</code>
| <code style="display: block">900 .. 1700</code>
|<code>1100</code>
| <code style="display: block">1100</code>
| colspan="1" |Friction coefficient at the peak (vertical coordinate) *1000.
| Friction coefficient at the peak (vertical coordinate) *1000.
| colspan="1" |''Load-independent''
| ''Load-independent''
|-
|-
|
|
====== b3 ======
====== b3 ======
|Curvature factor of stiffness/load
| Curvature factor of stiffness/load
|<code>N/%/kN^2</code>
| <code style="display: block">N/%/kN^2</code>
|<code>-20 .. +20</code>
| <code style="display: block">-20 .. +20</code>
|<code>0</code>
| <code style="display: block">0</code>
| colspan="1" |Change of the peak’s horizontal position.
| Change of the peak’s horizontal position.


Positive = increases ascent rate with load (moves to the left). Negative = decreases ascent rate with load (moves to the right).
Positive = increases ascent rate with load (moves to the left). Negative = decreases ascent rate with load (moves to the right).
| colspan="1" |Load-dependent
| Load-dependent
|-
|-
|
|
====== '''b4''' ======
====== b4 ======
|Change of stiffness with slip
| Change of stiffness with slip
|<code>N/%</code>
| <code style="display: block">N/%</code>
|<code>100 .. 500</code>
| <code style="display: block">100 .. 500</code>
|<code>300</code>
| <code style="display: block">300</code>
| colspan="1" |Peak’s horizontal position specified as “ascent rate”.
| Peak’s horizontal position specified as “ascent rate”.
| colspan="1" |''Load-independent''
| ''Load-independent''
|-
|-
|
|
====== b5 ======
====== b5 ======
|Change of progressivity of stiffness/load
| Change of progressivity of stiffness/load
|<code>1/kN</code>
| <code style="display: block">1/kN</code>
|<code>-1 .. +1</code>
| <code style="display: block">-1 .. +1</code>
|<code>0</code>
| <code style="display: block">0</code>
| colspan="1" |Lineal change of the peak’s horizontal position. Similar to b3 but more lineal and with reverse effect positive-negative.
| Lineal change of the peak’s horizontal position. Similar to b3 but more lineal and with reverse effect positive-negative.


Positive = decreases ascent rate with load. Negative = increases ascent rate with load.
Positive = decreases ascent rate with load. Negative = increases ascent rate with load.
| colspan="1" |Load-dependent
| Load-dependent
|-
|-
|
|
====== b6 ======
====== b6 ======
|Curvature change with load^2
| Curvature change with load^2
|
|
|<code>-0.1 .. +0.1</code>
| <code style="display: block">-0.1 .. +0.1</code>
|<code>0</code>
| <code style="display: block">0</code>
| colspan="1" |Quadratic change of the curvature at the peak.
| Quadratic change of the curvature at the peak.


Positive = more flat with load. Negative = sharper with load.
Positive = more flat with load. Negative = sharper with load.
| colspan="1" |Load-dependent
| Load-dependent
|-
|-
|
|
====== b7 ======
====== b7 ======
|Curvature change with load
| Curvature change with load
|
|
|<code>-1 .. +1</code>
| <code style="display: block">-1 .. +1</code>
|<code>0</code>
| <code style="display: block">0</code>
| colspan="1" |Change of the curvature at the peak. Same as b6 but more lineal.
| Change of the curvature at the peak. Same as b6 but more lineal.


Positive = more flat with load. Negative = sharper with load.
Positive = more flat with load. Negative = sharper with load.
| colspan="1" |Load-dependent
| Load-dependent
|-
|-
|
|
====== '''b8''' ======
====== b8 ======
|Curvature factor
| Curvature factor
|
|
|<code>-20 .. +1</code>
| <code style="display: block">-20 .. +1</code>
|<code>-2</code>
| <code style="display: block">-2</code>
| colspan="1" |Curvature at the peak. The more negative = more “sharp”. Has influence on the falloff afterwards.
| Curvature at the peak. The more negative = more “sharp”. Has influence on the falloff afterwards.
| colspan="1" |''Load-independent''
| ''Load-independent''
|-
|-
|
|
====== b9 ======
====== b9 ======
|Load influence on horizontal shift
| Load influence on horizontal shift
|<code>%/kN</code>
| <code style="display: block">%/kN</code>
|<code>-1 .. +1</code>
| <code style="display: block">-1 .. +1</code>
|<code>0</code>
| <code style="display: block">0</code>
| colspan="1" |Change of the horizontal shift.
| Change of the horizontal shift.


Positive = shifts to the left with more load. Negative = shifts to the right with more load.
Positive = shifts to the left with more load. Negative = shifts to the right with more load.
| colspan="1" |Load-dependent
| Load-dependent
|-
|-
|
|
====== b10 ======
====== b10 ======
|Horizontal shift
| Horizontal shift
|<code>%</code>
| <code style="display: block">%</code>
|<code>-5 .. +5</code>
| <code style="display: block">-5 .. +5</code>
|<code>0</code>
| <code style="display: block">0</code>
| colspan="1" |Curve’s horizontal shift
| Curve’s horizontal shift
| colspan="1" |''Load-independent''
| ''Load-independent''
|}
|}


===== Lateral =====
===== Lateral =====


{| class="wikitable sortable" border="1"
{| class="wikitable sortable"
!'''Param'''
! Param
!'''Role'''
! Role
!'''Units'''
! Units
!'''Typical range'''
! Typical range
!'''Sample'''
! Sample
!'''Description'''
! Description
!'''Dependency'''
! Dependency
|-
|-
====== '''a0''' ======
====== a0 ======
|Shape factor
| Shape factor
|
|
|<code>1.2 .. 18</code>
| <code style="display: block">1.2 .. 18</code>
|<code>1.4</code>
| <code style="display: block">1.4</code>
| colspan="1" |General shape of the curve. Defines the amount of falloff after the peak.
| General shape of the curve. Defines the amount of falloff after the peak.
''The Pacejka model defines a0 = 1.3 for the lateral force.''
''The Pacejka model defines a0 = 1.3 for the lateral force.''
| colspan="1" |
|
|-
|-
|
|
====== a1 ======
====== a1 ======
|Load influence on lateral friction coefficient (*1000)
| Load influence on lateral friction coefficient (*1000)
|<code>1/kN</code>
| <code style="display: block">1/kN</code>
|<code>-80 .. +80</code>
| <code style="display: block">-80 .. +80</code>
|<code>0</code>
| <code style="display: block">0</code>
| colspan="1" |Change of the friction coefficient at the peak.
| Change of the friction coefficient at the peak.


Positive = more friction with more load. Negative = less friction with more load.
Positive = more friction with more load. Negative = less friction with more load.
| colspan="1" |Load-dependent
| Load-dependent
|-
|-
|
|
====== '''a2''' ======
====== a2 ======
|Lateral friction coefficient (*1000)
| Lateral friction coefficient (*1000)
|
| <code style="display: block">900 .. 1700</code>
| <code style="display: block">1100</code>
| Friction coefficient at the peak (vertical coordinate) *1000.
|
|
|<code>900 .. 1700</code>
|<code>1100</code>
| colspan="1" |Friction coefficient at the peak (vertical coordinate) *1000.
| colspan="1" |
|-
|-
|
|
====== '''a3*''' ======
====== a3* ======
|Change of stiffness with slip
| Change of stiffness with slip
|<code>N/deg</code>
| <code style="display: block">N/deg</code>
|<code>500 .. 2000</code>
| <code style="display: block">500 .. 2000</code>
|<code>1100</code>
| <code style="display: block">1100</code>
| colspan="1" |Peak’s horizontal position at the reference load, specified as “ascent rate”.
| Peak’s horizontal position at the reference load, specified as “ascent rate”.
| colspan="1" |
|
|-
|-
|
|
====== '''a4*''' ======
====== a4* ======
|Change of progressivity of stiffness / load
| Change of progressivity of stiffness / load
|<code>1/kN</code>
| <code style="display: block">1/kN</code>
|<code>0 .. 50</code>
| <code style="display: block">0 .. 50</code>
|<code>10</code>
| <code style="display: block">10</code>
| colspan="1" |Change of the peak’s horizontal position with load. Smaller value = bigger change with load.
| Change of the peak’s horizontal position with load. Smaller value = bigger change with load.
| colspan="1" |
|
|-
|-
|
|
====== a5 ======
====== a5 ======
|Camber influence on stiffness
| Camber influence on stiffness
|<code>%/deg/100</code>
| <code style="display: block">%/deg/100</code>
|<code>-0.1 .. +0.1</code>
| <code style="display: block">-0.1 .. +0.1</code>
|<code>0</code>
| <code style="display: block">0</code>
| colspan="1" |Change of the peak’s horizontal position.
| Change of the peak’s horizontal position.


Positive = decreases ascent rate with camber (moves to the right).
Positive = decreases ascent rate with camber (moves to the right).


Negative = increases ascent rate with load (moves to the left).
Negative = increases ascent rate with load (moves to the left).
| colspan="1" |Camber-dependent
| Camber-dependent
|-
|-
|
|
====== a6 ======
====== a6 ======
|Curvature change with load
| Curvature change with load
|
|
|<code>-2 .. +2</code>
| <code style="display: block">-2 .. +2</code>
|<code>0</code>
| <code style="display: block">0</code>
| colspan="1" |Change of the curvature at the peak.
| Change of the curvature at the peak.


Positive = more flat with load. Negative = sharper with load.
Positive = more flat with load. Negative = sharper with load.
| colspan="1" |Load-dependent
| Load-dependent
|-
|-
|
|
====== '''a7''' ======
====== a7 ======
|Curvature factor
| Curvature factor
|
| <code style="display: block">-20 .. +1</code>
| <code style="display: block">-2</code>
| Curvature at the peak. The more negative = more “sharp”. Has influence on the falloff afterwards
|
|
|<code>-20 .. +1</code>
|<code>-2</code>
| colspan="1" |Curvature at the peak. The more negative = more “sharp”. Has influence on the falloff afterwards
| colspan="1" |
|-
|-
|
|
====== a8 ======
====== a8 ======
|Load influence on horizontal shift
| Load influence on horizontal shift
|<code>deg/kN</code>
| <code style="display: block">deg/kN</code>
|<code>-1 .. +1</code>
| <code style="display: block">-1 .. +1</code>
|<code>0</code>
| <code style="display: block">0</code>
| colspan="1" |Change of the horizontal shift.
| Change of the horizontal shift.


Positive = shifts to the left with more load. Negative = shifts to the right with more load.
Positive = shifts to the left with more load. Negative = shifts to the right with more load.
| colspan="1" |Load-dependent
| Load-dependent
|-
|-
|
|
====== a9 ======
====== a9 ======
|Horizontal shift at load = 0 and camber = 0
| Horizontal shift at load = 0 and camber = 0
|<code>deg</code>
| <code style="display: block">deg</code>
|<code>-1 .. +1</code>
| <code style="display: block">-1 .. +1</code>
|<code>0</code>
| <code style="display: block">0</code>
| colspan="1" |Curve’s horizontal shift
| Curve’s horizontal shift
| colspan="1" |
|
|-
|-
|
|
====== a10 ======
====== a10 ======
|Camber influence on horizontal shift
| Camber influence on horizontal shift
|<code>deg/deg</code>
| <code style="display: block">deg/deg</code>
| -0.1 .. +0.1
| -0.1 .. +0.1
|0
| 0
| colspan="1" |Change of the horizontal shift.
| Change of the horizontal shift.


Same sign as camber = shifts to the left. Opposite sign as camber = shifts to the right.
Same sign as camber = shifts to the left. Opposite sign as camber = shifts to the right.
| colspan="1" |Camber-dependent
| Camber-dependent
|-
|-
|
|
====== a11 ======
====== a11 ======
|Vertical shift
| Vertical shift
|<code>N</code>
| <code style="display: block">N</code>
| -200 .. +200
| -200 .. +200
|0
| 0
| colspan="1" |Curve’s vertical shift
| Curve’s vertical shift
| colspan="1" |
|
|-
|-
|
|
====== a12 ======
====== a12 ======
|Vertical shift at load = 0
| Vertical shift at load = 0
|<code>N</code>
| <code style="display: block">N</code>
| -10 .. +10
| -10 .. +10
|0
| 0
| colspan="1" |Vertical shift when approaching zero load.
| Vertical shift when approaching zero load.


Must be verified for coherency at the configured minimum load.
Must be verified for coherency at the configured minimum load.
| colspan="1" |Load-dependent
| Load-dependent
|-
|-
|
|
====== a13 ======
====== a13 ======
|Camber influence on vertical shift, load dependent
| Camber influence on vertical shift, load dependent
|<code>N/deg/kN</code>
| <code style="display: block">N/deg/kN</code>
| -10 .. +10
| -10 .. +10
|0
| 0
| colspan="1" |Change of the vertical shift according to camber and load.
| Change of the vertical shift according to camber and load.


Same sign as camber = shifts upwards. Opposite sign as camber = shifts downwards.
Same sign as camber = shifts upwards. Opposite sign as camber = shifts downwards.


The more load the more camber effect.
The more load the more camber effect.
| colspan="1" |Camber-dependent
| Camber-dependent
|-
|-
|
|
====== a14 ======
====== a14 ======
|Camber influence on vertical shift
| Camber influence on vertical shift
|<code>N/deg</code>
| <code style="display: block">N/deg</code>
| -15 .. +15
| -15 .. +15
|0
| 0
| colspan="1" |Change of the vertical shift.
| Change of the vertical shift.


Same sign as camber = shifts upwards. Opposite sign as camber = shifts downwards.
Same sign as camber = shifts upwards. Opposite sign as camber = shifts downwards.
| colspan="1" |Camber-dependent
| Camber-dependent
|}
|}
<sup>* Configure the horizontal behavior with load</sup>
<sup>* Configure the horizontal behavior with load</sup>
Line 1,008: Line 1,008:
===== Aligning =====
===== Aligning =====


{| class="wikitable sortable" border="1"
{| class="wikitable sortable"
!'''Param'''
! Param
!'''Role'''
! Role
!'''Units'''
! Units
!'''Typical range'''
! Typical range
!'''Sample'''
! Sample
!'''Description'''
! Description
!'''Dependency'''
! Dependency
|-
|-
| colspan="1" |
|
====== c0 ======
====== c0 ======
| colspan="1" |
|
| colspan="1" |
|
| colspan="1" |
|
| colspan="1" |
|
| colspan="1" |
|
| colspan="1" |
|
|-
|-
| colspan="1" |
|
====== c1 ======
====== c1 ======
| colspan="1" |
|
| colspan="1" |
|
| colspan="1" |
|
| colspan="1" |
|
| colspan="1" |
|
| colspan="1" |
|
|-
|-
| colspan="1" |
|
====== c2 ======
====== c2 ======
| colspan="1" |
|
| colspan="1" |
|
| colspan="1" |
|
| colspan="1" |
|
| colspan="1" |
|
| colspan="1" |
|
|-
|-
| colspan="1" |
|
====== c3 ======
====== c3 ======
| colspan="1" |
|
| colspan="1" |
|
| colspan="1" |
|
| colspan="1" |
|
| colspan="1" |
|
| colspan="1" |
|
|-
|-
| colspan="1" |
|
====== c4 ======
====== c4 ======
| colspan="1" |
|
| colspan="1" |
|
| colspan="1" |
|
| colspan="1" |
|
| colspan="1" |
|
| colspan="1" |
|
|-
|-
| colspan="1" |
|
====== c5 ======
====== c5 ======
| colspan="1" |
|
| colspan="1" |
|
| colspan="1" |
|
| colspan="1" |
|
| colspan="1" |
|
| colspan="1" |
|
|-
|-
| colspan="1" |
|
====== c6 ======
====== c6 ======
| colspan="1" |
|
| colspan="1" |
|
| colspan="1" |
|
| colspan="1" |
|
| colspan="1" |
|
| colspan="1" |
|
|-
|-
| colspan="1" |
|
====== c7 ======
====== c7 ======
| colspan="1" |
|
| colspan="1" |
|
| colspan="1" |
|
| colspan="1" |
|
| colspan="1" |
|
| colspan="1" |
|
|-
|-
| colspan="1" |
|
====== c8 ======
====== c8 ======
| colspan="1" |
|
| colspan="1" |
|
| colspan="1" |
|
| colspan="1" |
|
| colspan="1" |
|
| colspan="1" |
|
|-
|-
| colspan="1" |
|
====== c9 ======
====== c9 ======
| colspan="1" |
|
| colspan="1" |
|
| colspan="1" |
|
| colspan="1" |
|
| colspan="1" |
|
| colspan="1" |
|
|-
|-
| colspan="1" |
|
====== c10 ======
====== c10 ======
| colspan="1" |
|
| colspan="1" |
|
| colspan="1" |
|
| colspan="1" |
|
| colspan="1" |
|
| colspan="1" |
|
|-
|-
| colspan="1" |
|
====== c11 ======
====== c11 ======
| colspan="1" |
|
| colspan="1" |
|
| colspan="1" |
|
| colspan="1" |
|
| colspan="1" |
|
| colspan="1" |
|
|-
|-
| colspan="1" |
|
====== c12 ======
====== c12 ======
| colspan="1" |
|
| colspan="1" |
|
| colspan="1" |
|
| colspan="1" |
|
| colspan="1" |
|
| colspan="1" |
|
|-
|-
| colspan="1" |
|
====== c13 ======
====== c13 ======
| colspan="1" |
|
| colspan="1" |
|
| colspan="1" |
|
| colspan="1" |
|
| colspan="1" |
|
| colspan="1" |
|
|-
|-
| colspan="1" |
|
====== c14 ======
====== c14 ======
| colspan="1" |
|
| colspan="1" |
|
| colspan="1" |
|
| colspan="1" |
|
| colspan="1" |
|
| colspan="1" |
|
|-
|-
| colspan="1" |
|
====== c15 ======
====== c15 ======
| colspan="1" |
|
| colspan="1" |
|
| colspan="1" |
|
| colspan="1" |
|
| colspan="1" |
|
| colspan="1" |
|
|-
|-
| colspan="1" |
|
====== c16 ======
====== c16 ======
| colspan="1" |
|
| colspan="1" |
|
| colspan="1" |
|
| colspan="1" |
|
| colspan="1" |
|
| colspan="1" |
|
|-
|-
| colspan="1" |
|
====== c17 ======
====== c17 ======
| colspan="1" |
|
| colspan="1" |
|
| colspan="1" |
|
| colspan="1" |
|
| colspan="1" |
|
| colspan="1" |
|
|-
|-
| colspan="1" |
|
====== c18 ======
====== c18 ======
| colspan="1" |
|
| colspan="1" |
|
| colspan="1" |
|
| colspan="1" |
|
| colspan="1" |
|
| colspan="1" |
|
|}
|}


Line 1,192: Line 1,192:


* LayerPreset in which the wheel raycast is performed (should be "Vehicle")
* LayerPreset in which the wheel raycast is performed (should be "Vehicle")


== RigidBody and Center of Mass ==
== RigidBody and Center of Mass ==

Latest revision as of 11:52, 11 January 2023

Input (Controller)

SCR_CarControllerComponent

General

Param Type Unit Description
Type
Type of gearbox
  • Automatic - Automatic shifting and transition to reversing, W/S - throttle/brake or brake/throttle when reversing.
  • Manual - Manual shifting, W - always throttle, S - always brake, Q/E to shift gears
Transmission RND
bool Transmission have three settings: reverse, neutral and drive

Steering speed coefficients

The following are properties for smoothing the digital or small range/insensitive analog input (gamepad thumbstick). The setup should be quick and responsive enough while allowing the player to keep a smooth ride (e.g. by tapping the keys), without having to constantly counter compensate.

Param Type Unit Description
Steering Forward Speed
pairs of floats [vehicle speed in km/h, steering speed in °/s] Pairs of velocity and steering speed at the given velocity
Steering Backward Speed
pairs of floats [vehicle speed in km/h, steering speed in °/s] Pairs of velocity and counter-steering speed (recentering via input) at the given velocity
Steering Center Speed
pairs of floats [vehicle speed in km/h, centering speed in °/s] Pairs of velocity and recentering speed (when no steering input is given / caster effect) at the given velocity

Throttle

Param Type Unit Description
Throttle Curve
pairs of floats [engine rpm, amount of throttle] Throttle application with respect to engine's RPM
Reverse Curve
pairs of floats [engine rpm, amount of throttle] Throttle application with respect to engine's RPM while in reverse
Throttle Reaction Time
float s Time (in seconds) it takes to get wanted value of throttle - e.g. to interpolate from 0.0 to 1.0 throttle input
Throttle Turbo Time
float s Time (in seconds) to reach wanted value of throttle in turbo mode
Throttle Turbo
float Amount of throttle that is reserved for turbo mode. For instance 0.2 means that without turbo, vehicle will be moving with maximum 0.8 throttle

Brake

Param Type Unit Description
Braking Curve
pairs of floats [time in seconds, amount of braking force] Brake application over time
Brake Turbo Time
float s Time to reach wanted value of brake in turbo mode

Engine

Param Type Unit Description
Max Startup Time
float seconds Failsafe time for the engine to start (it can also bypass animations if it is shorter)
Max Startup Attempts
float How many times you can be "stuck" in the startup loop animation
Engine Startup Chance
float % Probability that each startup attempt has to turn on the engine (0 - 100) (should be tied to engine below "damaged" threshold)
Air Intakes
float array of PointInfo classes Air intake positions in local vehicle space
Drowning Time
float s Amount of time needed to completely drown the engine when all air intakes are underwater
Shutdown Time
float s Amount of time (some) vehicle systems automatically toggle off after the shutdown
Max Lights Time
float s Maximum amount of time the light toggle should take (or if there are no animations)

Clutch

Param Type Unit Description
Clutch Uncouple Time
float seconds Time to disengage clutch before switching gears
Clutch Couple Time
float seconds Time to engage clutch after switching gears
Clutch Uncouple Rpm
float RPM Engine RPM at which clutch is fully uncoupled while moving off
Clutch Couple Rpm
float RPM Engine RPM at which clutch is fully coupled while moving off
Clutch Uncouple Factor
float Clutch uncouple RPM factor while moving off uphill or downhill
Clutch Couple Factor
float Clutch couple RPM factor while moving off uphill or downhill
Clutch Minimum Position
float Minimum clutch position while moving off
Clutch Minimum Factor
float Minimum clutch position factor while moving off uphill or downhill

Shifting

Param Type Unit Description
Slope Smoothing
float Factor of filter that smooths out upshift and downshift RPMs
Latency
float seconds Minimum time between gear switches
Up Shift Factor
float Upshift RPM factor while going uphill or downhill
Up Shift Rpm
float RPM Engine RPM required for upshifting
Down Shift Factor
float Downshift RPM factor while going uphill or downhill
Down Shift Rpm
float RPM Engine RPM required for downshifting
Turbo Shift Factor
float Upshifting and downshifting RPM ratio in Turbo mode

Simulation

VehicleWheeledSimulation

General

Param Type Unit Description
Solver Type
Solver selector - only V1 solver is available right now
Solver Update Rate
Hz Solver update rate in Hz (number of ticks per second)

Engine

Controls engine power and its other properties. All values must be greater than 0 to be accepted as valid.

The engine is simulated as rotating cylinder around its central axis (simplification of crankshaft).

Param Type Unit Description References
Inertia
float kg.m2 Moment of inertia armareforger-new-engine-inertia.png

https://www.researchgate.net/publication/258176892_Evaluation_of_variable_mass_moment_of_inertia_of_the_piston-crank_mechanism_of_an_internal_combustion_engine

Max Power
float kW Maximum power that the engine can provide
  • armareforger-vehicle-wheeled-engine-graph.png

You can use this calculator to visualize RPM curve

  • maxTorqueRPM <= maxPowerRPM < maxRPM
  • Use https://www.automobile-catalog.com/, https://www.dieselhub.com/ and similar sources to check for real torque/power curves of the engines
Max Torque
float Nm Maximum torque that engine can provide (peak torque)
Rpm Max Power
float RPM RPM where engine outputs maximum power
Rpm MaxT orque
float RPM RPM where maximum torque is produced
Rpm Idle
float RPM RPM when engine is idling, e.g. in neutral
Rpm Redline
float RPM Redline RPM

This parameter is currently ignored

Rpm Max
float RPM Maximum RPM
Steepness
float Controls how fast engine can reach max torque. It can be used to flatten the torque curve before max torque rpm are reached
Friction
float Engine's braking torque
Output
Powertrain part driven by the engine (clutch)

Clutch

Param Type Unit Description
Max Clutch Torque
float Nm Maximum torque that clutch can provide. (1.6*MaxTorque can be a good starting point)

This parameter is currently ignored

Output
Powertrain part driven by the clutch (gearbox)

Gearbox

Param Type Unit Description
Reverse
float Reverse gear ratio
Forward
array of floats Array of forward gear ratios, order of the values are mapped to gears respectively
Efficiency
float Transmission efficiency - scales the engine output passed down
Output
Powertrain part driven by the gearbox (differential)

Differentials

Param Type Unit Description
Type
Open Same torque on both outputs, different rotational speeds
LSD Limited slip differential - limiting rotational difference between outputs. Opens Anti slip and Anti slip torque parameters.
Ratio
float Differential ratio (sometime "final drive")
Strength
float Determines the magnitude of the extra force that is applied to the gripping wheel
Output0
Powertrain parts driven by the differential (other differential or axle differential)
Output1

Axles

Param Type Unit Description
Torque Share
float Defines how much torque is delivered to this axle. Sum of Torque Share for all axles should be equal to 1
Has Handbrake
bool Determines whether this axle is used for handbrakes. Handbrake force is same as Brake Torque
(Axle) Differential
Param Type Unit Description
<same as differentials>
Output0
Driven wheels
Output1
Suspension

Accelerating/braking/turning should noticeably shift the weight of the vehicle. Weight shifting affects the grip of the tires - allowing more grip on the side with more weight. Center of mass should be set realistically high and the tendency to roll should be limited by a sway (anti-roll) bar if necesary, not by setting the CoM below the vehicle or just the wheel center.

Param Type Unit Description
Max Steering Angle
float degrees Specifies the maximum steering angle of this axle, if negative value is given, the axis will steer in opposite direction of the steering wheel.
Spring Rate
float
N/mm
Spring force per mm.
Compression Damper
float
Ns/m
Compression damper force per 1m/s.
Relaxation Damper
float
Ns/m
Relaxation damper force per 1m/s.
Max Travel Up
float m Maximum distance that the suspension can be compressed from modeled position. Standard cars 0.06 - 0.1 m. Off-road cars >0.1 m.
Max Travel Down
float m Maximum distance that the suspension can be expanded from modeled position. Standard cars 0.07 - 0.12 m. Off-road cars >0.1 m.
Wheel
Param Type Unit Description
Radius
float m Radius of the wheel
Ratio
float Wheel reduction ratio
Mass
float kg Mass of the wheel on this axle
Brake Torque
float Nm Amount of brake torque applied to each wheel on this axle
Tyre
Param Type Unit Description
Rolling Resistance
float Currently not used in game

Linearly proportional to speed. Acts against the wheel torque. For limiting acceleration. (in addition to surface property)

Rolling Drag
float Currently not used in game

Proportional to speed squared. For limiting high speeds. (in addition to surface property)

Roughness
float m Bumpiness height - how bumpy is the wheel itself (in addition to surface property)
Longitudinal Friction
float Directly affects tyre grip in longitudinal direction
Lateral Friction
float Directly affects tyre grip in lateral direction
Tread
float Ratio of the "Thread" - related to how well wheel performs on specific surface.
Swaybar
Param Type Unit Description
Stiffness
float N Sway bar stiffness ( anti-roll force )
WheelPositions

Inertia

armareforger-vehicle-wheeled-inertia.png
  • InertiaOverrideEnable
    • Enables manual override of vehicle inertia - the way how to "simulate" mass distribution on the vehicle.
  • InertiaOverride
    • Inertia values around each axis. Copy initial values from diag or via context menu opened on VehicleWheeledSimulation on the Entity instance (you have to Apply to prefab later)
Aerodynamics
Param Type Unit Description
Reference Area
float m2 Drag reference area - see following page for more details https://en.wikipedia.org/wiki/Automobile_drag_coefficient#Drag_area
Drag coefficient
float Drag coefficient - see following page for more details https://en.wikipedia.org/wiki/Automobile_drag_coefficient#Typical_drag_coefficients

Pacejka

armareforger-vehicle-wheeled-pacejka.png
  • https://www.edy.es/dev/docs/pacejka-94-parameters-explained-a-comprehensive-guide/
  • http://www.racer.nl/pacejka/pacplay.htm

Fill in initial values via context menu opened on VehicleWheeledSimulation on the Entity instance (you have to Apply to prefab later)

Longitudinal
b0
Param Role Units Typical range Sample Description Dependency
Shape factor 1.4 .. 1.8 1.5 General shape of the curve. Defines the amount of falloff after the peak.

The Pacejka model defines b0 = 1.65 for the longitudinal force.

Load-independent
b1
Load influence on longitudinal friction coefficient (*1000) 1/kN -80 .. +80 0 Change of the friction coefficient at the peak.

Positive = more friction with more load. Negative = less friction with more load.

Load-dependent
b2
Longitudinal friction coefficient (*1000) 900 .. 1700 1100 Friction coefficient at the peak (vertical coordinate) *1000. Load-independent
b3
Curvature factor of stiffness/load N/%/kN^2 -20 .. +20 0 Change of the peak’s horizontal position.

Positive = increases ascent rate with load (moves to the left). Negative = decreases ascent rate with load (moves to the right).

Load-dependent
b4
Change of stiffness with slip N/% 100 .. 500 300 Peak’s horizontal position specified as “ascent rate”. Load-independent
b5
Change of progressivity of stiffness/load 1/kN -1 .. +1 0 Lineal change of the peak’s horizontal position. Similar to b3 but more lineal and with reverse effect positive-negative.

Positive = decreases ascent rate with load. Negative = increases ascent rate with load.

Load-dependent
b6
Curvature change with load^2 -0.1 .. +0.1 0 Quadratic change of the curvature at the peak.

Positive = more flat with load. Negative = sharper with load.

Load-dependent
b7
Curvature change with load -1 .. +1 0 Change of the curvature at the peak. Same as b6 but more lineal.

Positive = more flat with load. Negative = sharper with load.

Load-dependent
b8
Curvature factor -20 .. +1 -2 Curvature at the peak. The more negative = more “sharp”. Has influence on the falloff afterwards. Load-independent
b9
Load influence on horizontal shift %/kN -1 .. +1 0 Change of the horizontal shift.

Positive = shifts to the left with more load. Negative = shifts to the right with more load.

Load-dependent
b10
Horizontal shift % -5 .. +5 0 Curve’s horizontal shift Load-independent
Lateral
a0
Param Role Units Typical range Sample Description Dependency
Shape factor 1.2 .. 18 1.4 General shape of the curve. Defines the amount of falloff after the peak.

The Pacejka model defines a0 = 1.3 for the lateral force.

a1
Load influence on lateral friction coefficient (*1000) 1/kN -80 .. +80 0 Change of the friction coefficient at the peak.

Positive = more friction with more load. Negative = less friction with more load.

Load-dependent
a2
Lateral friction coefficient (*1000) 900 .. 1700 1100 Friction coefficient at the peak (vertical coordinate) *1000.
a3*
Change of stiffness with slip N/deg 500 .. 2000 1100 Peak’s horizontal position at the reference load, specified as “ascent rate”.
a4*
Change of progressivity of stiffness / load 1/kN 0 .. 50 10 Change of the peak’s horizontal position with load. Smaller value = bigger change with load.
a5
Camber influence on stiffness %/deg/100 -0.1 .. +0.1 0 Change of the peak’s horizontal position.

Positive = decreases ascent rate with camber (moves to the right).

Negative = increases ascent rate with load (moves to the left).

Camber-dependent
a6
Curvature change with load -2 .. +2 0 Change of the curvature at the peak.

Positive = more flat with load. Negative = sharper with load.

Load-dependent
a7
Curvature factor -20 .. +1 -2 Curvature at the peak. The more negative = more “sharp”. Has influence on the falloff afterwards
a8
Load influence on horizontal shift deg/kN -1 .. +1 0 Change of the horizontal shift.

Positive = shifts to the left with more load. Negative = shifts to the right with more load.

Load-dependent
a9
Horizontal shift at load = 0 and camber = 0 deg -1 .. +1 0 Curve’s horizontal shift
a10
Camber influence on horizontal shift deg/deg -0.1 .. +0.1 0 Change of the horizontal shift.

Same sign as camber = shifts to the left. Opposite sign as camber = shifts to the right.

Camber-dependent
a11
Vertical shift N -200 .. +200 0 Curve’s vertical shift
a12
Vertical shift at load = 0 N -10 .. +10 0 Vertical shift when approaching zero load.

Must be verified for coherency at the configured minimum load.

Load-dependent
a13
Camber influence on vertical shift, load dependent N/deg/kN -10 .. +10 0 Change of the vertical shift according to camber and load.

Same sign as camber = shifts upwards. Opposite sign as camber = shifts downwards.

The more load the more camber effect.

Camber-dependent
a14
Camber influence on vertical shift N/deg -15 .. +15 0 Change of the vertical shift.

Same sign as camber = shifts upwards. Opposite sign as camber = shifts downwards.

Camber-dependent

* Configure the horizontal behavior with load

Aligning
Param Role Units Typical range Sample Description Dependency
c0
c1
c2
c3
c4
c5
c6
c7
c8
c9
c10
c11
c12
c13
c14
c15
c16
c17
c18

RaycastLayer

  • LayerPreset in which the wheel raycast is performed (should be "Vehicle")


RigidBody and Center of Mass

  • All vehicles are set to curb weight (assuming dynamic weight could happen at some point in the future)
  • Center of Mass plays a crucial role in vehicle handling - it should be high enough to allow for weight shifting and changes in the wheel grip due to the changing pressure.