Is there any reason to use the “real” physics of a RigidBody2D, instead of manipulating gravity, velocity, etc. by myself on a RigidBody2D with isKinematic enabled?
I think that the built-in physics, unless you’re making a physics-simulated game, feels terribly floaty for most of the punchy platformer and Enter the Gungeon-esque games that I want to make in Unity 2D. Is it out of the ordinary to turn isKinematic on for all my RigidBodys and handle physics myself?
Being a Dynamic body doesn’t make it “floaty” so switching to Kinematic isn’t going to solve it.
Why not just address why your game is “floaty”. This is nearly always because you’re usnig a single fixed global gravity and gravity scale on your Rigidbody2D. It’s easy to manipulate the Rigidbody2D.gravityScale depending on whether the vertical velocity is upwards or downwards like this:
Just have a script with a separate gravity scale for when moving up and one when down then during the fixed-update, check the rigidbody velocity Y component and if it’s > 0 then set the up gravity scale and < 0 set the down gravity scale. Use a larger gravity scale when moving down. It’s a few lines of code really.
1 Like