So I’m tryna make a vaulting system for my game and I came across this problem:
Basically, I’m trying to make the player climb by making them go forward in the animation track, so the only problem here is how can I get them positioned in the last keyframes. I’ve searched far in the forum and got nothing in return, so please help me.
Try making it so that the animation doesnt move the actual character, and use TweenService to tween the HumanoidRootPart from one point to another. This could also be better as you could add longer or shorter distances.
If you really don’t want to move the character itself DURING the animation and make it so the animation doesn’t move (which I recommend is what you do for game animations) you could watch for when the animation ends, and teleport the character to the position that it does (which I suppose is going to be a fixed value, unless you have multiple vaulting animations and/or dynamic vaulting)
Also, to find the position that the animation ends, just place somewhere flat, and play the animation. Get the Vector3 of where it started and of where it ended, and calculate the distance. Now, in any position, just add the distance to the starting Vector3, and you should get where it ends.
Also, TweenService is stuck to the easing and interpolation styles it has implemented (which any animation program probably also has)
If your animation requires to slow down or speed up during the vaulting motion, try manipulating CFrames instead. It gives you more freedom as long as you know about math.
Don’t animate the torso moving forward. Instead, keep the animation focused only on the vault motion itself. To actually move the character forward, you should apply forces through something like LinearVelocity or VectorForce.