Why does my animation fuse with the idle animation?

I am trying to make a pushup animation however the animation seems to fuse with the idle animation. Here is my code

game:GetService("ReplicatedStorage").ProcessPushup.OnServerEvent:Connect(function(plr, isHolding)
	local char = plr.Character or plr.CharacterAdded:Wait()
	local anim = char.Humanoid:LoadAnimation(char.PushupAnim)
	if isHolding then 
		local tracks = char.Humanoid:GetPlayingAnimationTracks()
		for _, v in pairs (tracks) do
			v:Stop(0)
		end
		anim:Play()
		char.Humanoid.WalkSpeed = 0
	else
		local tracks = char.Humanoid:GetPlayingAnimationTracks()
		for _, v in pairs (tracks) do
			v:Stop(0)
		end
		char.Humanoid.WalkSpeed = 16
	end
end)

This is a video of the phenomenon, look at the legs

Here is what the animation is suppose to look like

2 Likes

You need to set the animation priority to action I believe.

1 Like

Depends on multiple things, but most likely its your priority set wrong.

1 Like

If I recall I don’t need to reload it do I? I can just set the animation tracks enum of Priority to Enum.Priority.Action

You go into Animation Editor then Set it then Overwrite the existing animation asset.

1 Like

So I just added this little snippet after the defining of the animation track.

	anim.Priority = Enum.AnimationPriority.Action

It still gives that weird effect though

I just reuploaded it with the priority set to action, still not working