I would like to reach the effect of for example putting/spawning a stone on the back of a truck. I'd like to behave it realistically. Searched almost everywhere, couldn't find an answer... Parenting two rigidbodies or turning ON isKinematic on the child doesn't do the trick. I also can't use altering the transforms, nor MovePosition. I really hope there's a reasonable solution out there somewhere.. Pleeease helppp!
asked Dec 15 '10 at 05:44 PM
Consider what you want to do. You have a rock on the back of a truck, but what keeps the rock on the back of the truck? Friction which cannot exist without the forces of gravity, the materials' surfaces' effect on friction, and collision.
What does this mean? To behave somewhat realistically:
There are all sorts of things that aren't properly emulated within physics simulation, like aerodynamics and buoyancy for example so it will never be perfectly realistic.
If you don't care how the rock behaves once it is in the truck, you could always add code to remove the rigidbody and parent the truck to the rock OnCollision if you like.
answered Dec 15 '10 at 06:31 PM
@Gil the short answer I believe is that the way to go about what you want to do is to:
a) Increase the mass of the truck object itself each time an object is added b) Change the centre of mass of the truck (including rocks) by hand to account for the new weight distribution
Part b will require understanding centre of mass calculations for discreet objects, see centre of mass for particles here http://hyperphysics.phy-astr.gsu.edu/hbase/cm.html
Might be confusing if you're not familiar with physics concepts but Physx doesn't have any way to 'weld' or compound rigidbodies together in a way that preserves their respective mass distributions to my knowledge...