Hello! I’m new to animating and I’m trying to make an animation that kind of looks like the blox fruits sword’s shizu Z move animation. However, I think whenever that when an animation is finished, it puts the player right back to their original position where the player started playing the animation. I don’t know how to make the player’s new position, the animation’s finished position.
just open up the animation and see how far the character is from the starting point, then just add a wait that’s the length of the animation then add the distance from the starting point to the end to the characters position, kinda like “local distance = Vector3.new(5,0,0) Animation:Play() task.wait(3) Character:MoveTo(Character.HumanoidRootPart.Position + distance)”
Wait wouldn’t that make the character move walk to the end position right when it got teleported or moved back to its original position? I’m trying to make the player stay on the end position after the animation ended
No it only would if you used MoveTo() in the humanoid. If you use MoveTo() or PivotTo() on models it just teleports them. Also never directly set the position on the humanoidrootpart
A better solution would be to make it so the Animation does not move the character’s position (in the animation editor, the character should perform the animation at the same spot and not move forwards too much, but just a little for effect)
Then, in the animation script where the move is performed, move the character forwards by either setting the CFrame forwards every frame, or using a VectorVelocity movement constraint.
You should add animation event markers in the animation itself to trigger a “move forwards” method and “move ended” method. This also allows you to more easily tweak the special move’s forward movement, as you can just change a number within the script, instead of tweaking the animation and re-uploading it.
Will the animation reset or “look funny” whenever I update the player’s CFrame ever time I update the player’s CFrame when an animation event marker is reached?
If you implement it correctly then no ^^
