293 lines
8.6 KiB
XML
Raw Normal View History

2025-03-12 11:55:10 +01:00
<!--
Hello my friends and welcome to the Articulated Suspension Definition File Format
Suspension definitions have all bodies with wheels oriented perfectly straight, parallel to car forward axis. No compression or dangly bits.
We have measured points in space with respect to suspension diagrams in "\\depot\main\Design\Suspension\Point_Definition\"
This format contains information regarding the resultant suspension geometry as defined in \\depot\main\Design\Suspension\Suspension_Measure.xls"
Suspension geometry can be defined by a combination of the following components:
Locator - Point in space corresponding to location in suspension diagram
CoilSpring
Damper
Body(or whatever name you want to use) - Defined by a list of locators (max 8).
special thingies! These are both special named bodys used by the simulation. Every suspension must have a Chassis, Upright, and S (Spindle)
S(Spindle) - Point at which tire mounts. Generally, x = -HalfTrack, y = TireRadius, z = 0
Chassis (a named Body) - Straightforward, where the suspension connects to the body of the car
Upright (a named Body)- The rigid piece the spindle is attached to
Kingpin (a named.. thing) - Must be specified for steered suspensions. This denotes the two pivots about which the upright must rotate
AngularConstraint (Makes sure the angle between the two links formed by the three locators (start, pivot, end) is always enforced)
-->
<!-- BMW E36 Front -->
<!-- "\\depot\main\Design\Suspension\Point_Definition\Strut.jpg" -->
<!-- MaxBump/Droop are in place to define mechanical limits of the suspension before it starts producing undesired behavior.
This travel is relative to the stock suspension and scales when applied to other vehicles
TireWidth is in place so we can get the track outer by adding it to half-track at run-time -->
<Suspension Steered="true" HalfTrack="0.7112" TireRadius="0.32" LinearAntiDiveEffectScalar="1.0" TireWidth="0.24" DroopTravel="-0.16" BumpTravel="0.20" UnsprungMassPortionOfBodyMassPerWheel="0.0055">
<!--
By convention, locators have been researched in a different coordinate system than the simulation. See "\\depot\main\Design\Suspension\Point_Definition\Axis.jpg"
The game consumes these values assuming they are authored with respect to its own car axis. See "\\depot\main\Design\Suspension\Point_Definition\SimulationAxis.jpg"
Please apply the following conversion to researched values:
GAME | RESEARCH
X -Y
Y Z
Z X
It is also assumed all suspension measurements are of the left side of the car, So all of the x components will likely be negative once converted to game values.
-->
<Locator Id="A" x="-0.660" y="0.165" z="0.000" />
<Locator Id="B" x="-0.330" y="0.160" z="0.046" />
<Locator Id="C" x="-0.325" y="0.152" z="-0.351"/>
<Locator Id="D" x="-0.610" y="0.251" z="0.03"/>
<Locator Id="E" x="-0.470" y="0.787" z="-0.075"/>
<Locator Id="S" x="-0.7112" y="0.32" z="0.0"/>
<Locator Id="W" x="-0.610" y="0.251" z="-0.075"/>
<Locator Id="Z" x="-0.710" y="0.251" z="-0.175"/>
<Chassis NumLocators="3">
<Locator Id="B"/>
<Locator Id="C"/>
<Locator Id="E"/>
</Chassis>
<Upright NumLocators="5">
<Locator Id="A"/>
<Locator Id="D"/>
<Locator Id="S"/>
<Locator Id="W"/>
<Locator Id="Z"/>
</Upright>
<LowerControlArm NumLocators="3">
<Locator Id="A"/>
<Locator Id="B"/>
<Locator Id="C"/>
</LowerControlArm>
<CoilSpring NumLocators="2">
<Locator Id="E"/>
<Locator Id="D"/>
</CoilSpring>
<Damper NumLocators="2">
<Locator Id="E"/>
<Locator Id="D"/>
</Damper>
<Kingpin NumLocators="2">
<Locator Id="E"/>
<Locator Id="A"/>
</Kingpin>
<!-- Three angular constraints to enforce the slider joint formed by the spring and the upright -->
<AngularConstraint NumLocators="3">
<Locator Id="E"/>
<Locator Id="W"/>
<Locator Id="A"/>
</AngularConstraint>
<AngularConstraint NumLocators="3">
<Locator Id="E"/>
<Locator Id="W"/>
<Locator Id="S"/>
</AngularConstraint>
<AngularConstraint NumLocators="3">
<Locator Id="E"/>
<Locator Id="A"/>
<Locator Id="Z"/>
</AngularConstraint>
<!-- X axis extends linearly Rest to MaxCompression. -->
<SpringProgression>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.01"/>
<Scale Value="1.01"/>
<Scale Value="1.02"/>
<Scale Value="1.03"/>
<Scale Value="1.06"/>
<Scale Value="1.11"/>
<Scale Value="1.19"/>
<Scale Value="1.32"/>
<Scale Value="1.54"/>
<Scale Value="1.91"/>
<Scale Value="2.50"/>
<Scale Value="3.46"/>
<Scale Value="5.00"/>
</SpringProgression>
<SpringProgressionDamping>
<Scale Value="1.00"/> <!--Mean F Drop--start1 power6 scaler1 clamp1.5--Bump--start1 power 16 scaler2 clamp3-->
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.01"/>
<Scale Value="1.01"/>
<Scale Value="1.02"/>
<Scale Value="1.02"/>
<Scale Value="1.04"/>
<Scale Value="1.06"/>
<Scale Value="1.08"/>
<Scale Value="1.12"/>
<Scale Value="1.18"/>
<Scale Value="1.26"/>
<Scale Value="1.37"/>
<Scale Value="1.53"/>
<Scale Value="1.74"/>
<Scale Value="2.04"/>
<Scale Value="2.45"/>
<Scale Value="3.00"/>
</SpringProgressionDamping>
<SpringProgressionReboundDamping>
<Scale Value="1.00"/> <!--Mean F Drop--start1 power1 scaler1 clamp1.5--Bump--start1 power 20 scaler3.5 clamp4.5-->
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.00"/>
<Scale Value="1.01"/>
<Scale Value="1.01"/>
<Scale Value="1.02"/>
<Scale Value="1.04"/>
<Scale Value="1.07"/>
<Scale Value="1.11"/>
<Scale Value="1.17"/>
<Scale Value="1.27"/>
<Scale Value="1.43"/>
<Scale Value="1.66"/>
<Scale Value="2.02"/>
<Scale Value="2.55"/>
<Scale Value="3.34"/>
<Scale Value="4.50"/>
</SpringProgressionReboundDamping>
<SuspensionXAxis>
<Gradient Value="0.0"/>
<Gradient Value="0.0"/>
<Gradient Value="0.0"/>
<Gradient Value="0.0"/>
<Gradient Value="0.0"/>
</SuspensionXAxis>
<SuspensionZAxis>
<Gradient Value="0.0"/>
<Gradient Value="0.0"/>
<Gradient Value="0.0"/>
<Gradient Value="0.0"/>
<Gradient Value="0.0"/>
</SuspensionZAxis>
<SuspensionxAxisRear>
<Gradient Value="0.0"/>
<Gradient Value="0.0"/>
<Gradient Value="0.0"/>
<Gradient Value="0.0"/>
</SuspensionxAxisRear>
<SuspensionZAxisRear>
<Gradient Value="0.0"/>
<Gradient Value="0.0"/>
<Gradient Value="0.0"/>
<Gradient Value="0.0"/>
<Gradient Value="0.0"/>
</SuspensionZAxisRear>
</Suspension>