Warning

This page is WIP.

Tires

TBC

Tire brand found in *.hdv files refer to file name.

The TBC is primarily for AI use, although some things are still used to define player physics.

Slip curves do not represent the coefficient of grip. Instead they represent the reaction to the current slip. Regardless of the peak value in this curve, it will be automatically normalized to have a peak of 1.0.

The peak of the slip curve is dynamically adjusted to higher or lower slip values based on current load and speed. The second value of “SpeedEffects” is an equivalency value for load and speed. To calculate the slip peak, we use the following input which is a combination of load and speed: <load/speed combination> = <load> + (<speed> * <equivalency>) Obviously a larger equivalency value will make speed a more dominant factor in the calculation of the peak. See the SpeedEffects, LatPeak, and LongPeak tire parameters for more info.

Slip curve data points are connected using a cubic spline, so there is no need to use a massive amount of data points unless the curve is really busy.

Lateral slip angles are normalized so that you need to take the sine of the angle to get the slip. For example, 12 degrees is a slip of 0.208 and vice versa. Longitudinal slip ratios closely match the SAE definition.

All curves should probably go out to at least a slip of 2.0, even the lateral and braking curves. Although locking up your brakes is a slip of 1.0, there are situations where you can spin your wheels in the opposite direction of your velocity (like shifting into reverse while moving forwards).

Note that the initial slope of the curve may have an effect on how some features behave, such as traction control, ABS, skids, and tire smoke.

The “DropoffFunction” is a new feature in the [SLIPCURVE] section. It describes how the slip curve dropoff is affected when the peak of the slip curve changes. The peak of the slip curve may move to a smaller or larger slip when load or speed changes. When this happens, the slip curve is stretched or shrunk to match.

The “DropoffFunction” parameter allows you to affect the behavior beyond the peak when this happens:

-1.0 = dropoff occurs faster when peak increases

0.0 = dropoff curve does NOT change shape when the peak changes

1.0 = dropoff curve is stretched or shrunk with the rest of the curve, which means the dropoff may feel more gradual as the peak increases. This is the default.

Note that you can pick in-between values for a blend of behaviors.

[SLIPCURVE]

Name

Example value: “Default”

No description provided

Step

Example value: 0.009

Slip step

DropoffFunction

Example value: 0.00

See explanation above

Data

Example value: 0.000000 0.174836 0.349483 0.518060 0.668882 0.790665 0.878928

No description provided

Skippy example data:

Data:
0.000000 0.174836 0.349483 0.518060 0.668882 0.790665 0.878928 0.936783 0.971287 0.989751
0.997978 1.000000 0.999947 0.999795 0.999544 0.999195 0.998749 0.998206 0.997567 0.996835
0.996010 0.995094 0.994089 0.992997 0.991821 0.990562 0.989222 0.987806 0.986315 0.984752
0.983119 0.981420 0.979659 0.977836 0.975957 0.974023 0.972039 0.970006 0.967929 0.965810
0.963652 0.961458 0.959232 0.956976 0.954693 0.952385 0.950057 0.947709 0.945345 0.942968
0.940580 0.938182 0.935778 0.933370 0.930959 0.928548 0.926139 0.923733 0.921332 0.918938
0.916552 0.914176 0.911811 0.909458 0.907120 0.904796 0.902488 0.900196 0.897923 0.895668
0.893433 0.891218 0.889024 0.886851 0.884700 0.882571 0.880466 0.878383 0.876324 0.874289
0.872278 0.870291 0.868329 0.866391 0.864478 0.862590 0.860727 0.858888 0.857074 0.855285
0.853521 0.851781 0.850066 0.848375 0.846708 0.845065 0.843446 0.841851 0.840280 0.838731
0.837206 0.835704 0.834224 0.832767 0.831331 0.829918 0.828526 0.827156 0.825807 0.824478
0.823170 0.821882 0.820615 0.819367 0.818138 0.816929 0.815738 0.814566 0.813413 0.812277
0.811159 0.810059 0.808976 0.807909 0.806860 0.805827 0.804810 0.803809 0.802823 0.801853
0.800898 0.799958 0.799033 0.798121 0.797224 0.796341 0.795472 0.794616 0.793773 0.792943
0.792126 0.791321 0.790529 0.789749 0.788981 0.788224 0.787479 0.786745 0.786022 0.785310
0.784609 0.783918 0.783238 0.782568 0.781908 0.781257 0.780617 0.779985 0.779364 0.778751
0.778147 0.777552 0.776965 0.776388 0.775818 0.775257 0.774704 0.774159 0.773621 0.773092
0.772570 0.772055 0.771547 0.771047 0.770554 0.770068 0.769588 0.769115 0.768649 0.768189
0.767736 0.767289 0.766848 0.766413 0.765984 0.765560 0.765143 0.764731 0.764325 0.763924
0.763528 0.763138 0.762753 0.762373 0.761998 0.761629 0.761263 0.760903 0.760548 0.760197
0.759850 0.759508 0.759171 0.758837 0.758508 0.758184 0.757863 0.757546 0.757234 0.756925
0.756620 0.756320 0.756022 0.755729 0.755439 0.755153 0.754870 0.754591 0.754315 0.754042
0.753773 0.753507 0.753244 0.752985 0.752728 0.752475 0.752224 0.751977 0.751732 0.751491
0.751252 0.751016 0.750783 0.750552 0.750324 0.750099 0.750000

Note that the dry and wet performance numbers are NOT relative.

They will still be scaled by the terrain dry/wet values in terrain.tdf.

For example, if normal pavement has the scaling parameters dry=1.0 and wet=0.8, and a rain tire has scaling parameters of dry=1.30 and wet=1.35, then the overall grip in the dry will be (1.0 * 1.30) = 1.3, while the overall grip in the wet will be (0.8 * 1.35) = 1.08.

FYI - we may add “Compound” to each name in order to translate it, because these names are not necessarily unique to tire compounds.

[COMPOUND]

Name

Example value: “Treaded”

No description provided

WetWeather

Example value: 1

No description provided

ARGUMENT

Example value: FRONT

Arguments: ALL, FRONT, REAR, LEFT, RIGHT, FRONTLEFT, FRONTRIGHT, REARLEFT, REARRIGHT

TGM

Example value: “BFGoodrich_g-ForceSport_195-55-R15x7”

Physical tire model (*.tgm) file

DryLatLong

Example value: (1.29, 1.28)

Lateral/longitudinal coefficients in dry weather

WetLatLong

Example value: (1.24, 1.22)

Lateral/longitudinal coefficients in wet weather

RoadGripEffects

Example value: (0.09,-0.06,-0.0,-0.25)

Effect of maximum (<groove>,<marbles>,<dampness>,<wetness>) on grip, where dampness is fully saturated before standing water and wetness represents maximum standing water

RoadSqrdGripEffects

Example value: -0.01

Effect of <groove>*<groove> on grip

RoadModifierMults

Example value: (1.0,1.0,1.0,1.0)

Multipliers for the tires’ effect on (<groove_addition>,<marble_removal>, <marble_addition>,<water_removal>)

Radius

Example value: 0.2957

Radius of tire

RadiusRPM

Example value: 2.01e-6

Increased radius per unit RPM

Width

Example value: 0.1956

Width of tire

Rim

Example value: (0.2074, 850000, 6800, 3.0)

Rim radius, spring rate, damper rate, minimum velocity to produce sparks

SpringBase

Example value: 41406

Base spring rate with no pressure

SpringkPa

Example value: 640

Spring rate per unit pressure

Damper

Example value: 720

Damping rate of tire

SpeedEffects

Example value: (753,-0.5)

Speed at which grip drops to half (m/s, 0.0 to disable), speed load equivalency (see above)

LoadSensLat

Example value: ( -4.0e-5, 0.51, 17100)

Load sensitivity for lateral grip (initial slope, final grip multiplier, final load)

LoadSensLong

Example value: (-2.8e-5, 0.59, 17100)

Load sensitivity for longitudinal grip (initial slope, final grip multiplier, final load)

LatPeak

Example value: ( 0.137, 0.203, 9250)

Slip range where lateral peak force occurs depending on load

LongPeak

Example value: (0.117, 0.166, 9250)

Slip range where longitudinal peak force occurs depending on load

LatCurve

Example value: “Default”

Slip angle curve (data uses normalized angle)

BrakingCurve

Example value: “Default”

Slip ratio curve under braking

TractiveCurve

Example value: “Default”

Slip ratio curve under acceleration

CamberLatLong

Example value: (3.3, 0.07, 0.41)

Peak camber angle, lateral gain at peak, longitudinal loss at 90 degrees

RollingResistance

Example value: 580

Resistance torque (Nm) per unit deflection (m) on ground

PneumaticTrail

Example value: 6.0e-6

Pneumatic trail per unit load (m/N), adjusted based on slip

HeatBasePeak

Example value: (0.2, 0.01)

Base peak slip to compute friction heat, fraction of base to use (0.0=use dynamic peak slip only)

Heating

Example value: (1.0, 0.0165)

Heat caused by (rolling, friction)

Transfer

Example value: (0.025, 0.0019, 3.50e-4)

Heat transfer to (road, static air, moving air)

HeatDistrib

Example value: (9.5,100)

(Max camber angle, max off-pressure) that affects heat distribution (higher number -> less temperature difference)

AirTreadRate

Example value: 0.003

Heat transfer between tread and inside air

WearRate

Example value: 1.50e-7

Wear rate constant

WearGrip1

Example value: (0.998,0.990,0.985,0.982,0.979,0.976,0.973,0.970)

Grip at 6/13/19/25/31/38/44/50% wear (defaults to 0.980->0.844), grip is 1.0 at 0% wear

WearGrip2

Example value: (0.967,0.964,0.961,0.956,0.948,0.932,0.860,0.760)

Grip at 56/63/69/75/81/88/94/100% wear (defaults to 0.824->0.688), tire bursts at 100% wear

Softness

Example value: 0.6

Softness is now just for AI strategic use

AIGripMult

Example value: 1.00

Grip multiplier for AI vehicles (due to tire model simplification)

AIHeatRate

Example value: 7.5e-6

Heating rate constant for AI tires (default: 6.6e-6)

AIPitThreshold

Example value: 0.85

Remaining grip threshold before AI schedule to stop for fresh tires

Temperatures

Example value: (80, 22)

Optimum operating temperature for peak forces (Celsius), starting temperature

OptimumPressure

Example value: (190, 0.027)

Base pressure to remain flat on ground at zero deflection, and multiplier by load to stay flat on ground

GripTempPress

Example value: (0.85, 0.54, 0.4)

Grip effects of being below temp, above temp, and off-pressure (higher number -> faster grip dropoff

TGM

The physical tire model (*.tgm) that is used to define player physics. Some things from the TBC file are still used to further define player physics.

[QuasiStaticAnalysis]

NumLayers

Example value: 2

Number of layers in the tyre, at present, this must be 2 or ttool will crash

NumSections

Example value: 132

Number of layers in the tyre, must be at least 2 or ttool will crash, 3 should provide more accurate behaviour however becomes computationally expensive

RimVolume

Example value: 0.01589

Volume of air (m^3) of wheel rim, used to determine actual tire volume

DisplaceBulkMassWithPly

Example value: 1

Whether plies displace existing bulk materials when calculating masses

PlyCompressionTensionTransition

Example value: (-0.002,0.0001)

Strain to use compressive or tension modulus. Negative values represent compression.

RealtimeCamberLimit

Example value: 45

Angle limit (in degrees) for bristle positioning. Higher values compromise driving under normal conditions but will provide superior results when driving on 2 wheels for example. Note this does not effect the QSA model as bristle positions are generated by the real time model.

GaugePressure

Example value: 0

Air Pressure in Pascals (Pa) for ttool’s QSA tests. In the real time model, this entry is used to identifying results in the lookup table.

GaugePressure=0
GaugePressure=150000
GaugePressure=220000
GaugePressure=270000
GaugePressure=320000
CarcassTemperature

Example value: 273.15

Temperature in Kevlin for QSA tests

CarcassTemperature=273.15
CarcassTemperature=353.15
CarcassTemperature=423.15
RotationSquared

Example value: 0

Rotation speed (rad^2/sec)

RotationSquared=0
RotationSquared=18447
RotationSquared=37080.3333333333
RotationSquared=55900
NumNodes

Example value: 49

Number of nodes defined in the tyre, generated by ttool from the number of [node] entries below, again adding more nodes increases the detail and accuracy of the tyre. A minimum of 31 is suggested and the recommended range of nodes is 41-49 to achieve the accurate results, numbers exceeding this are generally not worth due to increasing computational demands along with diminishing returns.

TotalMass

Example value: 9.412522719792774

tire masses and inertia’s below as calculated by ttool

TotalInertiaStandard

Example value: (0.65716333011079,0.37699329177024093,0.37699329177023894)

No description provided

RingMass

Example value: 6.755485413509089

No description provided

RingInertiaStandard

Example value: (0.536511967258675,0.29524779535639917,0.2952477953563986)

No description provided

[Node]

Geometry

Example value: (0.08899,-0.19015,0.0171)

Outermost geometrical point (X, Y locations and, Thickness)

BulkMaterial

Example value: (273.15,1258,19800000,0.472,1,1340,0.25)

Bulk material properties (Temperature at which following properties are valid, Density, Young’s Modulus, Poisson’s Ratio, Compressive modulus multiplier, Specific Heat, Thermal Conductivity)

BulkMaterial=(273.15,1258,19800000,0.472,1,1340,0.25)
BulkMaterial=(373.15,1235,16200000,0.472,1,1492,0.24)
AnisoCarcassConductivityMult

Example value: (1.1,1,1.5) Directional heat conductivity multiplier X, Y and Z

TreadDepth

Example value: 0.0024 No description provided

TreadMaterial

Example value: (273.15,1135,2850000,0.48,1,1700,0.21) No description provided

TreadMaterial=(273.15,1135,2850000,0.48,1,1700,0.21)
TreadMaterial=(323.15,1130,2600000,0.48,1,1950,0.206)
TreadMaterial=(373.15,1125,2280000,0.48,1,2100,0.202)
TreadMaterial=(423.15,1120,2000000,0.48,1,2250,0.198)
RingAndRim

Example value: (0,960000000) Fraction of node that forms part of the ‘rigid’ ring, spring rate of nodes’ connection to the wheel rim

PlyParams

Example value: (1,0.001405,3)

Ply Angle, Ply Thickness, Connect Flags (1 = previous node, 2 = next node, 3 = both)

PlyMaterial

Example value: (273.15,7907,34000000000,0.3,0.1,465,52)

PlyMaterial=(273.15,7907,34000000000,0.3,0.1,465,52)
PlyMaterial=(373.15,7879,33000000000,0.3,0.1,484,50)
PlyParams=(74,0.000409,3)
PlyMaterial=(273.15,1380,3960000000,0.3,0.1,1695,0.25)
PlyMaterial=(373.15,1360,3400000000,0.3,0.1,1715,0.24)
PlyParams=(106,0.000409,3)
PlyMaterial=(273.15,1380,3960000000,0.3,0.1,1695,0.25)
PlyMaterial=(373.15,1360,3400000000,0.3,0.1,1715,0.24)
PlyParams=(80.89,0.00042,3)
PlyMaterial=(273.15,1205,3450000000,0.3,0.09,1695,0.25)
PlyMaterial=(373.15,1185,3280000000,0.3,0.09,1715,0.24)
PlyParams=(99.11,0.00042,3)
PlyMaterial=(273.15,1205,3450000000,0.3,0.09,1695,0.25)
PlyMaterial=(373.15,1185,3280000000,0.3,0.09,1715,0.24)

[Realtime]

StaticBaseCoefficient

Example value: 1.985

base grip coefficient for static friction

SlidingBaseCoefficient

Example value: 1.34

base grip coefficient for sliding friction

InclinationExtrapolation

Example value: 1.0

0.0=no extrapolation, 1=extrapolate one step, 2=extrapolate two steps, etc.)

AbrasionCurveWLFStartStep

Example value: (-8.5,0.5)

WLF lookup start and step value

AbrasionVolumePerUnitEnergy

Example value: (7.02e-10,6.90e-10,6.66e-10,6.36e-10,5.95e-10,5.40e-10,4.25e-10, 3.16e-10,2.29e-10,1.55e-10,1.20e-10,9.49e-11,7.64e-11,6.55e-11,6.00e-11, 6.27e-11,6.82e-11,7.75e-11,9.71e-11,1.23e-10,1.64e-10,2.35e-10,3.22e-10, 3.82e-10,4.31e-10,4.53e-10,4.64e-10,4.73e-10,4.80e-10,4.85e-10,4.88e-10, 4.89e-10) m^3/J volume of rubber sheared per Joule energy, max 32 values

DegradationPerWearFraction

Example value: (0.993,1,0.9992,0.998,0.9972,0.9966,0.9961,0.9956,0.9951,0.9946, 0.9941,0.9937,0.9933,0.9929,0.9925,0.9921,0.9917,0.9913,0.9909,0.9905,0.9901, 0.9897,0.9893,0.9889,0.9885,0.9881,0.9877,0.9873,0.9869,0.986,0.98,0.88)

Degradation based on wear fraction, max 32 values

DegradationCurveParameters

Example value: (344.15,6000)

(<activation_temperature_K>,<heat_history_step_Ks>) heat history is a linear progression of temperature over activation point multiplied by time

DegradationPerUnitHistory

Example value: (1,0.9925,0.9862,0.9809,0.9765,0.9729,0.97,0.9677,0.9659, 0.9643,0.9628,0.9614,0.96,0.9586,0.9572,0.9558,0.9544,0.953,0.9516,0.9502, 0.9488,0.9474,0.946,0.9446,0.9432,0.9418,0.9403,0.9386,0.9367,0.9345,0.9322, 0.93)

Degradation per heat history step, up to 32 values

MassInertiaMultiplier

Example value: (1.0,1.0,1.0,1.0)

multipliers for mass (m), inertia (p,q,r)

TemporaryRingDamper

Example value: (0.085,0.094,0.094,0.17,0.16,0.16)

tire ring damping for x,y,z,p,q,r

TemporaryBristleSpring

Example value: (21700, 14500, 28500)

bristle spring rate for Lat/Vert/Long

TemporaryBristleDamper

Example value:(0.95, 0.9, 0.95)

No description provided

MarbleEffectOnEffectiveLoad

Example value: -0.06

fraction of load available for grip when driving on maximum marbles (10% less load in this case)

TerrainWeightOnContactTemperature

Example value: 0.1

temperature used for WLF is influenced by the track temperature (in this case, 90% tire surface, 10% terrain surface)

WLFParameters

Example value: (228.15,50,-8.86,51.5)

glass transition temperature. Other values pretty much the same for all rubbers, except butyl. Most likely, you won’t touch the last three values.

StaticRoughnessEffect

Example value: -0.2

terrain roughness influence on static friction

GrooveEffects

Example value: (0.092,0.092,0.076,0.048)

maximum groove influences grip here for: static friction, sliding adhesion, sliding micro-deformation, sliding macro-deformation

DampnessEffects

Example value: (-0.075,-0.08,-0.06,-0.03)

fully damp track (at threshold of standing water or more) influence on grip for same things as GrooveEffects

TemporaryGripLossForWetness

Example value: 0.16

Temporary hack aquaplaning. Decreases grip due to standing water.

StaticCurve

Example value: (153, 0.66, 353, 1.176, 653, 0.65)

at -100C there’s 52% of maximum static grip, at 100C it’s maximum, at 400C it’s back down to 52% of max static grip

SlidingAdhesionCurve

Example value: (-9.2, 0.4, -5.2, 1.68, -1.2, 0.2)

min sliding speed (log(10) aTv), grip multiplier (for min), peak sliding speed, grip multiplier (for peak), max sliding speak, grip multiplier (for max)

SlidingMicroDeformationCurve

Example value: (-5.2, 0.3, -1.2, 1.8, +2.5, 0.3)

these values are blended following a cosine rule

SlidingMacroDeformationCurve

Example value: (-1.2, 0.2, +2.5, 2, +6.0, 0.4)

to get the totals the adhesion, micro and macro curves are then multiplied by the surface types as defined in the TDF files, the defaults of which are 0.25 for adhesion, 0.5 microroughness, 0.25 macroroughness

RubberPressureSensitivityPower

Example value: (-1.17,4.04e5,5e5,1) rubber contact pressure sensivity power, offset, nominal maximum, normalize (1=yes,2=no)

IgnitionParameters

Example value: (493,0.06,49) ignition temperature of rubber in Kelvin, heat power factor, nominal max of area*temperature_over_ignition

SizeMultiplier

Example value: (1,1)

if necessary, an adjustment to the geometrical width and radius; default is (1,1)

ThermalDepthAtSurface

Example value: 0.0001

the depth of the temperature sample layer used for contact properties (i.e. grip and wear); if provisional second layer is disabled, tread will never be allowed to get thinner than this value

ThermalDepthBelowSurface

Example value: 0.0004

(if provisional code enabled) the depth of the second layer; value should be >= surface layer but not too big; tread will never be allowed to get thinner than these two layers

BristleLength

Example value: 0.12

tuned to aid collision detection, no other physical effects

DampingHeatEnergy

Example value: (1.0,0.4,0.8)

(Fraction of ring damping heat into sidewall (should probably be 1.0), fraction of bristle damping heat into carcass, fraction of bristle damping heat into tread) the 2nd and 3rd values should generally add up to 1.0

InternalGasHeatTransfer

Example value: (10,5,0.6)

(base, mult, power) - heat transfer coefficients to internal gas cavity = base+(mult*(vel^power)), where vel is linear velocity of tire

ExternalGasHeatTransfer

Example value: (8,4,0.6)

(base, mult, power) - heat transfer coefficients to external air = base+(mult*(vel^power)), where vel is linear velocity of tire

GroundConductance

Example value: (1000,0.003,0)

(base, mult, reserved) - thermal contact conductance coefficient to ground = base+(mult*pressure), where pressure is contact pressure and the reserved variable will be used at some later stage.

WetConductance

Example value: (710,730,0,0)

Additional conductance due to (<dampness>, <wetness>,<and reserved for future usage 1>,<reserved 2>)

TireRadiationEmissivity

Example value: 0.936

thermal radiation emissivity for external tire surface

InternalGasSpecificHeatAtConstantVolume

Example values: (250,716)

(temperature (K), specific heat at constant volume (J/(kg*K)))

719 J/(kg*K) is an approximation for dry air, but value changes slightly depending on temperature

500 is an extreme value, you may have other issues if the internal gas reaches 500 degrees Kelvin

InternalGasSpecificHeatAtConstantVolume=(250,716)
InternalGasSpecificHeatAtConstantVolume=(300,718)
InternalGasSpecificHeatAtConstantVolume=(350,721)
InternalGasSpecificHeatAtConstantVolume=(400,726)
InternalGasSpecificHeatAtConstantVolume=(450,733)
InternalGasSpecificHeatAtConstantVolume=(500,742)

[LookupData]

Version

Example value: 1.103

No description provided

Bin

Example value: 53b1932d3fe4fe413583c3a63fd816d62c05b4f53fd816d608d85fdc3f068 b5f85d833ecbe375bd7d54f64143fe12287da50d7413fd2dbe4d1bd98553fd2dbe4

No description provided

Checksum

Example value: 1100694750

No description provided