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.
Kinematic charcter is on floor.
One of the challenges i ran into was that when the player moved above a certain velocity it would sometimes pass through colliders.
First of all by kinematic body i mean the 3d node.
Recently i have been working on a 2d platformer which uses the inbuilt unity physics and rigidbodies.
This would lead to the player getting stuck inside the floor when landing a from a.
The floor may have wrong mesh orientation.
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.
If i can read it directly from the kinematic mesh.
Godot provides some built in tools to assist but there are as many solutions as there are games.
We want action responsiveness and arcade feel.
Calculate a 0 1 factor based on known speeds the character can achieve on floor var t inverse lerp min floor speed max floor speed velocity length add single jump velocity so the.
You want to add friction and acceleration to your kinematic character giving it a smoother feel.
Moving the kinematic character.
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.
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.
Check the floor collider.
The default value equals 45 degrees.
If a collision happens it stops right at the moment of the collision.
New developers are often surprised at how complex a platform character can be to program.
For most games we re not necessarily interested in a perfect physics simulation.
Basically what i am trying to do is make my.
If infinite inertia is true body will be able to push rigidbody nodes but it won t also detect any collisions with them.
You need to make a 2d platform style character.
Go back to the character scene and open the script the magic begins now.
Add a box collider to the floor remove the mesh collider and check the result.
Or just try turning the floor 180 degrees along the relevant axis.