I’m trying to make a custom character controller, however whenever my character jumps the HST immediately changes from Jumping to Falling to the point where the character only plays the falling animation and doesn’t even play the Jumping animation. Does anyone know what the solution to my problem might be?
Still not solved, if you have any leads please don’t hesitate in letting me know.
Could it possibly be the humanoid’s “HipHeight” property?
Jumping is a brief state only intended to quickly notify code that the Humanoid jumped. Freefall is the airtime state regardless of whether the Humanoid is still ascending or descending. This is intended behaviour that you need to factor in while making jumping and falling animations.
The way Roblox handles this is by getting the length of the jumping animation (approximately 0.3 seconds) and waiting for that time to elapse before playing the freefall animation. Animations are handled according to RunService steps so time is accounted according to the given deltaTime. Once 0.3 seconds has elapsed, it transitions to the freefall animation.
The solution to your problem is to continue to play your jumping animation but don’t immediately change to the falling animation when the Freefall state is triggered. Wait some time first. If you handle your animation steps according to RunService this can be significantly easier for you.