You can write your topic however you want, but you need to answer these questions:
-
What do you want to achieve? Keep it simple and clear!
Get rid of the “animation blending”. -
What is the issue? Include screenshots / videos if possible!
I have been doing a remodel and was in the process of re-adding the ids in their correct scripts. The problem I encountered was that when the walk animation played, the run animation would sorta play too, the legs would jerk upward quickly like my run animation. This wouldn’t happen vice versa though, when the run animation played, it played 100%. -
What solutions have you tried so far? Did you look for solutions on the Developer Hub?
I re-did my walk animation, re-pasted all the ids into the animate script and my run script. I’ve played around in studio to try to fix it and have looked HEAVILY on the internet for similar posts on similar websites- the one I found that 100% addressed my situation was 3 years old and had no replies on scriptinghelpers. I’ve played around with animation weight and priority as well.
After that, you should include more details if you have any. Try to make your topic as descriptive as possible, so that it’s easier for people to help you!
If you need more/diff info, or are confused, please ask.
Heres my leftshift runscript, the problem is to do with the animate script, this is here just to get a good idea of what might be going on, idk:
local UserInputService = game:GetService("UserInputService")
local player = game.Players.LocalPlayer
local character = player.character
local humanoid = character.Humanoid
local Anim = humanoid.Animator
local Run = script:WaitForChild("Run")
local Runanim = Anim:LoadAnimation(Run)
Run.AnimationId = "rbxassetid://6846184687"
local Walk = script.Parent:WaitForChild("Animate").walk.WalkAnim
Walk.AnimationId = "rbxassetid://6850398480"
UserInputService.InputBegan:Connect(function(input, event)
if UserInputService.KeyboardEnabled == true then
local LShift = UserInputService:IsKeyDown(Enum.KeyCode.LeftShift)
if LShift then
if humanoid.WalkSpeed == 16 then
wait(.5)
Walk.AnimationId = "rbxassetid://6846184687"
humanoid.WalkSpeed = 48
print(Walk.AnimationId)
elseif humanoid.WalkSpeed == 48 then
wait(.5)
Walk.AnimationId = "rbxassetid://6850398480"
humanoid.WalkSpeed = 16
print(Walk.AnimationId)
end
end
end
end)
Everything prints, the speed changes and so does the animation, technically. If I run, the run animation plays, if I walk, the wonky-merged-walk animation plays.
Here’s where I’m sure the blending occurs, line 484-499 in the animate script. I have no idea what this is supposed to do, but the rest of the script seems to be sort of reliant on this, so deleting it or part of it isn’t an option.
-- check to see if we need to blend a walk/run animation
if animName == "walk" then
local runAnimName = "run"
local runIdx = rollAnimation(runAnimName)
runAnimTrack = humanoid:LoadAnimation(animTable[runAnimName][runIdx].anim)
runAnimTrack.Priority = Enum.AnimationPriority.Core
runAnimTrack:Play(transitionTime)
if (runAnimKeyframeHandler ~= nil) then
runAnimKeyframeHandler:disconnect()
end
runAnimKeyframeHandler = runAnimTrack.KeyframeReached:connect(keyFrameReachedFunc)
end
end
end
Again, if you have any questions, please ask.
Please do not ask people to write entire scripts or design entire systems for you. If you can’t answer the three questions above, you should probably pick a different category.