Difference between Static/KinematicBody vs Rigidbody with Static Mode and Kinematic Mode?

:information_source: Attention Topic was automatically imported from the old Question2Answer platform.
:bust_in_silhouette: Asked By rico345100

In RigidBody, there is a type property which can be: Rigid, Static, Character, Kinematic. I know they are different, for instance KinematicBody have some additional stuffs like move_and_slide, but RigidBody doens’t have. Then what about StaticBody vs Rigidbody with Static mode? Is there a any difference between them? Deciding which body to use is really confusing to me, yet.

:bust_in_silhouette: Reply From: wombatstampede

I use the type property of the RigidBody from time to time and this is what I think about it.

In first place, a RigidBody is a node whichs movements are determined by physics. So, normally, you just don’t set the velocity, rotation or position directly but apply forces/impulse to it directly or via collision with other bodies or via gravity.

Now there are times when you want to use such a node like a Kinematic Body. I.e. move it to a certain position on game initialisation or doing a “warp”. Then it might be helpful to switch the type property while you do it.

Also active Rigid bodies use processing time. If some objects come to are stand still there are times where you just want to make them static until used again. (Of course, there’s also a sleep mode which is also a possibility.)

So I’d primarily use Rigidbodies as dynamic physics objects and temporarily switch their type to kinetic/static when useful.