First of all by kinematic body i mean the 3d node.
Kinematic charcter is on floor.
If i can read it directly from the kinematic mesh.
If a collision happens it stops right at the moment of the collision.
This would lead to the player getting stuck inside the floor when landing a from a.
Moving the kinematic character.
Or just try turning the floor 180 degrees along the relevant axis.
The default value equals 45 degrees.
One of the challenges i ran into was that when the player moved above a certain velocity it would sometimes pass through colliders.
The floor may have wrong mesh orientation.
You need to make a 2d platform style character.
Go back to the character scene and open the script the magic begins now.
New developers are often surprised at how complex a platform character can be to program.
Move and slide motion floor normal the last parameter is important too if you want to allow some specific angles to be taken as floor like on slopes or.
Godot provides some built in tools to assist but there are as many solutions as there are games.
Recently i have been working on a 2d platformer which uses the inbuilt unity physics and rigidbodies.
Check the floor collider.
Add a box collider to the floor remove the mesh collider and check the result.
If infinite inertia is true body will be able to push rigidbody nodes but it won t also detect any collisions with them.
You want to add friction and acceleration to your kinematic character giving it a smoother feel.
For most games we re not necessarily interested in a perfect physics simulation.
Kinematicbody2d s is on floor seems to flicker in the example when moving towards the floor if you re moving towards it at very low speeds.
It also flickers if you outright don t move towards the floor at all while on the floor because we re moving 0 pixels down then 20 down then 0 then 20 etc.
Floor max angle is the maximum angle in radians where a slope is still considered a floor or a ceiling rather than a wall.
Basically what i am trying to do is make my.
The method move and slide have a couple of parameters the 2nd one is the floor normal if you set it like 0 1 0 pointing up on y then when checking it should say true if is the close to the normal including slope tolerance.
Kinematic body will do nothing by default but it has a useful function called kinematicbody2d move and collide this function takes a vector2 as an argument and tries to apply that motion to the kinematic body.