How do you create a animation that actually affects the position of the character?

You can write your topic however you want, but you need to answer these questions:

  1. What do you want to achieve? Keep it simple and clear!
    I want my animation to function similarly to the included video, where it moves the character physically in the animation.

  2. What is the issue? Include screenshots / videos if possible!
    I’m unsure of how to achieve it.

  3. What solutions have you tried so far? Did you look for solutions on the Developer Hub?
    I have looked at other posts, and a lot of them talk about the “Smart Animations module” gave it a shot, but the position of the character seems to lag behind the actual animation, especially when the movement is fast.

Here is my reference on what I mean:

(Youtube link because the video is too large)

1 Like
ClimbAnimation:Play()
-- the animation is still influencing where our body parts are,
-- but it's reached it's last frame
ClimbAnimation.Stopped:Wait()

-- save where our torso is at the end of the animation
-- if you're using R6, just change this to use the Torso's CFrame
local torsoCF = UpperTorso.CFrame

-- force it to fade out instantly, by default it takes 0.1 seconds or so
ClimbAnimation:AdjustWeight(0, 0)
-- we need to wait for a very specific moment where the animation
-- has fully stopped, but changing CFrames of rigs works correctly
-- instead of being delayed for a frame
-- (change this to `.PostSimulation:Wait` to see what I mean)
RunService.PreSimulation:Wait()

-- could lead to a visible teleport if the HumanoidRootPart
-- and UpperTorso of your characters are very far apart
-- Normal R15's and R6's should be fine
RootPart.CFrame = torsoCF

seamless climb animation transition travel transport additive

1 Like

Sorry for a late reply. Thank you! This works very well, before I saw this reply I thought of somehow making the camera follow the animation and then syncing up the position afterwards, but this works way better! :grin::+1:

1 Like