(16-11-2018, 01:13 PM)josemendez Wrote: This is a widely known limitation of realtime physics in general.
Yes, 0.1 - 10 is a ratio of 100, however things begin to break sooner if you have multiple bodies (and not just 2).
Excerpt from the official PhysX (UNity's physics engine) docs:
https://docs.nvidia.com/gameworks/conten...oints.html
Short answer: you don't. Just set their masses closer together and/or decrease the fixed timestep to increase solver accuracy (this allows you to use larger mass ratios). Depending on what you're after that means making the car lighter or the apple heavier. Some engines give you the option of scaling the masses upon contact, so that the mass ratio is kept in a sane range. The resulting behavior is obviously non-physical, but at least it does not explode -as often-. Either way, it is not generally possible to simulate very heavy and very light objects together in realtime.
Solutions to this: use a direct solver (which are much more expensive than iterative ones both financially and performance-wise, so realtime applications avoid them), or use all kind of hacks like the above mentioned.
Fun experiment you can do in Unity: place a 100 kg box on top of a 1 kg box, then watch them dance . The heavier the top box, the wilder the result.
Thanks! I can see this is going to cause me no end of problems