Changes

Jump to navigation Jump to search

Documentation/Engine/Units/accessory engine data

1,478 bytes added, 21:09, 8 November 2021
Attributes
The '''accessory_engine_data''' unit class is used to define the engine characteristics for the [[Documentation/Engine/Game_data/Player_trucks_definitions|player's vehicle]], as well as some upshift and downshift characteristics for automatic transmission gameplay. Units of this type are usually defined in '''/def/vehicle/truck/<makebrand.model>/engine/*.sii'''
== Attributes ==
|-
|info
|array&lt;string array&gt;
|
|Three This member is attribute of accessory data, however three '''info''' members are usually defined for '''accessory_engine_data'''.
<syntaxhighlight lang="cpp">
info[]: "197 @@hp@@ (147@@kw@@)" // The first is the rated power
|torque
|float
|0.0
|This defines the maximum torque output of the engine in N&middot;m.
|-
|secondary_torque
|float
|0.0
|If positive and greater than zero, this defines the secondary maximum torque output of the engine in N&middot;m for multi-torque engines. ''(Added in 1.30)''
|-
|secondary_torque_gear_ratio
|float
|1.0
|This defines the transmission gear ratio below which '''secondary_torque''' is used on multi-torque engines. ''(Added in 1.30)''
|-
|torque_curve
|array&lt;float2 array&gt;|''See description''
|This defines the torque output of the engine at various engine speeds, relative to the maximum torque defined in '''torque'''. If unset, the default curve is used:
<syntaxhighlight lang="cpp">
</syntaxhighlight>
The torque output is linearly interpolated between data points. For engine speeds outside the domain of the data points, the output is clamped to the values at the highest/lowest rpm points. The valid range for torque output is 0-1.
|-
|secondary_torque_curve
|array&lt;float2&gt;
|''See description''
|This defines the secondary torque output of a multi-torque engine at various engine speeds, relative to the maximum torque defined in '''secondary_torque'''. If unset, '''torque_curve''' is used instead. The syntax is the same as '''torque_curve'''. ''(Added in 1.30)''
|-
|resistance_torque
|float
| -1
|This is the resistive torque in N&middot;m at 2000rpm, used for passive engine braking and consumption. ''(New as of ETS 1.27/ATS 1.6)''
{{Note|When unset, or when set to any negative value, resistance_torque is calculated as (''volume'' &times; 20.0).}}
|-
|rpm_idle
|float
|550
|This is the engine speed the virtual engine controller will attempt to maintain with no throttle input. Valid range is 500-850 rpm.
|-
|rpm_limit
|float2
|(700, 1500)
|Defines the downshift and upshift engine speeds in low-range gears. (Automatic automatic transmission).
|-
|rpm_range_high_gear
|float2
|(1000, 15001350)|Defines the downshift and upshift engine speeds in high-range gears- typically peek torque range (automatic transmission). ''(Automatic transmissionTweaked in 1.38)''
|-
|rpm_range_engine_brakerpm_range_power
|float2
|(15001400, 25001900)|Defines the downshift and upshift engine speeds while the engine brake rough rpm range if more power is operatingrequested - used either in hills or for adaptive shifting, especially power mode (automatic transmission).''(Added in 1.37, tweaked in 1.38)''
|-
|''rpm_range_power_boost''
|float2
|(550, 450)
|''(Obsolete in 1.37)''Defines the rough rpm range ''change'' to '''rpm_range_low_gear''' and '''rpm_range_high_gear''' at full throttle when if more power is requested - used either in hills or for adaptive automatic shifting, especially power mode. (Automatic transmission is enabled).
{{Tip|Be careful that the resulting values when '''rpm_range_power_boost''' is added to '''rpm_range_*_gear''' don't exceed '''rpm_limit'''. Otherwise, the transmission may fail to shift correctly in adaptive automatic mode.}}
|-
|rpm_range_engine_brake
|float2
|(1500, 2500)
|Defines the downshift and upshift engine speeds while the engine brake is operating. (Automatic transmission)
|-
|engine_brake
|float
|1.0
|Engine braking torque relative to a typical exhaust brake on an engine of the same '''volume'''.
|-
|engine_brake_downshift
|bool
|true|When true, automatic transmissions will downshift upon beginning engine brake behavior, to keep rpm within '''rpm_range_engine_brake'''. When false, the regular rpm are kept.
|-
|engine_brake_positions
|uint
|3
|Defines the number of strength levels for the engine brake. The braking torque at each position is based linearly on the number of positions. So for <code>engine_brake_positions: 3</code> the first position will have <sup>1</sup>&frasl;<sub>3</sub> of the full strength, the second position will have <sup>2</sup>&frasl;<sub>3</sub> of the full strength, and the highest position will have the full strength.
|-
|auxiliary_brakes
|array&lt;float3&gt;
|
|Defines When set, this overrides the number of strength levels for engine brake control so that it controls both the engine brakeand retarder (if present). The components are (engine brake strength, forced downshift, retarder strength). The braking torque at each position is based linearly on value of '''engine_brake_positions''' must match the number of positionsmembers in auxiliary_brakes. (''Added in 1. So for 40'') For example:<codepre>engine_brake_positions: 5 auxiliary_brakes[]: (0.3<, 0, 0) // 30% engine brake only auxiliary_brakes[]: (0.6, 0, 0) // 60% engine brake only auxiliary_brakes[]: (1.0, 0, 0) //code> the first position will have <sup>100% engine brake only auxiliary_brakes[]: (1.0, 1<, 0) /sup>&frasl;<sub>3</sub> of the maximum strength100% engine brake and downshift auxiliary_brakes[]: (1.0, 1, the second position will have <sup>2<1) //sup>&frasl;<sub>3100% engine brake, downshift and 100% retarder</subpre> of the maximum strength, and the highest position will have the maximum strength.
|-
|volume
|float
|0.0|The (four-stroke) volumetric displacement of the engine in liters. It is used in base fuel consumption calculation, engine mass & inertia calculations, and also default '''resistance_torque''' calculations. {{Note|For two-stroke diesel engines, this should be roughly twice the swept Minimum acceptable engine volumeis 6.}}
|-
|consumption_coef
|no_adblue_power_limit
|float
|1.0
|When the AdBlue tank is empty, the engine's power is scaled by this factor.
|-
|sound
|string
|
|Path to the truck [[Documentation/Engine/Sound/TruckEngine|engine sound bank.]] (format like "/sound/truck/engine.bank")
{{Note|The default engine bank has been removed (1.38+). You must explicitly specify a bank from one of the base game vehicles, or specify your own bank.}}
|-
|sounds
|array&lt;string&gt;
|
|When the AdBlue tank is emptyEach item assigns an FMOD event to an engine function, using the "''<nowiki>sound_name|sound_path</nowiki>''" [[Games/ETS2/Modding_guides/1.39#Accessories|format]]. ''Added in 1.39'' Expected sound event names are: engine's power is scaled by this factor, exhaust, start_bad, and turbo.
|}
=== Torque from Power and Speed (English Units) ===
T [lb<sub>f</sub>&middot;ft] = ( P [hp] &times; 5252 ) &divide; N [RPM]
 
{{UnitDef|def=<nowiki> "accessory_engine_data":{
"superclass":"accessory_data",
"attrs":{
"name":{
"type": "string"
},
"short_name":{
"type": "string"
},
"icon":{
"type": "string"
},
"info":{
"type": "string_array"
},
"price":{
"type": "s64"
},
"unlock":{
"type": "uint"
},
"suitable_for":{
"type": "string_array"
},
"conflict_with":{
"type": "string_array"
},
"defaults":{
"type": "string_array"
},
"require":{
"type": "token_array"
},
"torque":{
"type": "float"
},
"torque_curve":{
"type": "float2_array"
},
"rpm_idle":{
"type": "float"
},
"rpm_limit":{
"type": "float"
},
"rpm_limit_neutral":{
"type": "float"
},
"rpm_range_low_gear":{
"type": "float2"
},
"rpm_range_high_gear":{
"type": "float2"
},
"rpm_range_engine_brake":{
"type": "float2"
},
"rpm_range_power_boost":{
"type": "float2"
},
"engine_brake":{
"type": "float"
},
"engine_brake_downshift":{
"type": "bool"
},
"engine_brake_positions":{
"type": "uint"
},
"volume":{
"type": "float"
},
"consumption_coef":{
"type": "float"
},
"adblue_consumption":{
"type": "float"
},
"no_adblue_power_limit":{
"type": "float"
}
}
},</nowiki>}}
507
edits

Navigation menu