- Home /
why does my rigidbody weight only go up to 1e+09
im building a game with space physics and the planets mass is auto caculated then set to a mass variable which is then converted to rb.mass. but when I debug.log(mass) it says a number much higher than 1e+09.
Answer by Bunny83 · Jun 07, 2020 at 07:42 PM
The mass in a rigidbody simulation is only relevant when collisions happen or when you apply forces. Such high masses would result in very unstable behaviour. Even a mass of 1e+09 (i.e. == 1000000000) is already way too high. For proper rigidbody simulations you should keep masses in the range between 1 and 1000. Planetary / Newtonion gravity simulations are not really rigidbody simulations since you are much more interested in the orbital mechanics and not collisions between the objects. PhysX mainly works with single precision floating point values which are most likely not precise enough for planetary scale simulations. You should use double values and implement the movement of your bodies yourself.
Note that single precision floating point values only have 24 bit for the mantissa of the value. That's about 7 significant digits. The higher the value get the less precise it gets in absolute terms. See my table over here.
Ok, Ill keep the automated mass in a much lower range and im already doing the physics myself anyways