If you have been working on vehicle setups in Racer, you probably noticed a pair of telemetry outputs listed under Ctrl+9 ingame, called theoretical and actual weight % at front. These indicate the percentage of the vehicle's weight which rests over the front axle.
Now I had been wondering for a long time why the values shown there never quite matched the distribution intended via the numbers set in car.ini. However, with the difference usually being fairly small, an error of around 1% did not put me off and I ignored it for the most part.
There are vehicles though, where the difference becomes more significant, an error of 3% is no longer acceptable for example, since it influences the static ride height and other things as well. So after a couple of simple experiments it became obvious that there are two ways to define weight distribution and that Ruud had been using one method all along, while the community at large went with another interpretation. Since the official documentation fails to make a clear statement on this, I checked back with Ruud and then decided to post about it here, so that attention can be brought to the matter.
Before the "how-to" part, here is a quick definition of the two interpretations:
The common way to measure weight distribution in real life is to put the vehicle on a set of scales, one under each axle or wheel. This is what I would call the total mass based approach, because it takes the entire vehicle at once. Values found in specification and testing sheets are nearly always total mass based, which is why it is natural - but wrong - to assume Racer would treat it like this as well.
Racer distinguishes between the body.mass and the sum of all wheel.mass entries. body.mass is the so called sprung mass, wheel.mass entries for each wheel add up to the unsprung mass. If your car.ini defines engine.mass separately, that value has to be added to body.mass to obtain the total sprung mass.
This split of masses is required for the handling model to work and it also forms the basis of Racer's weight distribution definition. As such, you might call this the sprung mass based approach.
Here is an example case that shows how we are meant to set weight distribution:
I have taken the sample data from a modern hot hatchback where kerb weight is given as 1387kg. For this example I assume this already includes fuel and a driver. The claimed static weight distribution for the total mass of the vehicle is 65% front, 35% rear. Front axle unsprung mass is 125kg, rear axle unsprung mass is 92kg. Finally, the wheelbase is 2.636m.
Racer requires us to use sprung mass based weight distribution so a few simple calculations are needed.
We know total mass split is 65% over the front axle:
Minus the unsprung mass for both front wheels:
The entire sprung mass of the vehicle is:
Hence, front sprung mass distribution is:
The distance of the centre of gravity from the front axle is thus:
...and that is it. If you position your body mesh file so that cg.z is zero, the distance we just calculated is identical to the susp_front.z value of the vehicle. susp_rear.z is then wheelbase minus susp_front.z.
The vehicle is now set for a sprung mass based weight distribution of 66.37% front. At the same time, total mass based weight distribution is at 65% front, which is shown correctly under Ctrl+9 . No extra data is needed to do these calculations, since all the values are required to fill out car.ini in any case. If you store the calculation in a spreadsheet or a maths application, it takes only seconds longer to get the result.
Now I had been wondering for a long time why the values shown there never quite matched the distribution intended via the numbers set in car.ini. However, with the difference usually being fairly small, an error of around 1% did not put me off and I ignored it for the most part.
There are vehicles though, where the difference becomes more significant, an error of 3% is no longer acceptable for example, since it influences the static ride height and other things as well. So after a couple of simple experiments it became obvious that there are two ways to define weight distribution and that Ruud had been using one method all along, while the community at large went with another interpretation. Since the official documentation fails to make a clear statement on this, I checked back with Ruud and then decided to post about it here, so that attention can be brought to the matter.
Before the "how-to" part, here is a quick definition of the two interpretations:
The common way to measure weight distribution in real life is to put the vehicle on a set of scales, one under each axle or wheel. This is what I would call the total mass based approach, because it takes the entire vehicle at once. Values found in specification and testing sheets are nearly always total mass based, which is why it is natural - but wrong - to assume Racer would treat it like this as well.
Racer distinguishes between the body.mass and the sum of all wheel.mass entries. body.mass is the so called sprung mass, wheel.mass entries for each wheel add up to the unsprung mass. If your car.ini defines engine.mass separately, that value has to be added to body.mass to obtain the total sprung mass.
This split of masses is required for the handling model to work and it also forms the basis of Racer's weight distribution definition. As such, you might call this the sprung mass based approach.
Here is an example case that shows how we are meant to set weight distribution:
I have taken the sample data from a modern hot hatchback where kerb weight is given as 1387kg. For this example I assume this already includes fuel and a driver. The claimed static weight distribution for the total mass of the vehicle is 65% front, 35% rear. Front axle unsprung mass is 125kg, rear axle unsprung mass is 92kg. Finally, the wheelbase is 2.636m.
Racer requires us to use sprung mass based weight distribution so a few simple calculations are needed.
We know total mass split is 65% over the front axle:
Code:
1387kg * 65% = 901.55kg
Code:
901.55kg - 125kg = 776.55kg
Code:
1387kg - 125kg - 92kg = 1170kg
Code:
776.55kg / 1170kg = 66.37%
Code:
2.636m * (100% - 66.37%) = 0.886m
...and that is it. If you position your body mesh file so that cg.z is zero, the distance we just calculated is identical to the susp_front.z value of the vehicle. susp_rear.z is then wheelbase minus susp_front.z.
The vehicle is now set for a sprung mass based weight distribution of 66.37% front. At the same time, total mass based weight distribution is at 65% front, which is shown correctly under Ctrl+9 . No extra data is needed to do these calculations, since all the values are required to fill out car.ini in any case. If you store the calculation in a spreadsheet or a maths application, it takes only seconds longer to get the result.