Need help with understanding the new animations

Hello! Due to the new way animations blend, I can’t seem to figure out how to get my animations to play properly. I have the priority set to the highest it can be (Action4) and it seems like the Handle joint never moves. I don’t understand why this occurs, so if someone can help me understand how the new blending works and how to fix it, that’d be appreciated

How it should look

How it looks in-game

1 Like

If you can give me a better angle of how it should look like, that would be helpful. I think it might just be that the First Person is making it look different than the Third Person. Try to look at it from a First Person perspective while animating it, this usually helps to avoid these errors.

Edit: I just realized about the handle not moving. I believe it is because the handle is welded to your players hand and does not want to move. I am not sure of any way to fix that, sorry!

It uses motor 6D, and has animated key frames. It moves slightly, but not fully and it’s severely damped

You can try to move it more in the animation and see if that worked. You say its dampened the effect so that might work.

Hello! I have a simple workaround to this issue. I’m not the best scripter, but his has worked for me before. Take my code, but please edit if if you like. Name the script anything you want, and paste the following code into a server script which is parented to your tool:

local Tool = script.Parent
function createmotor()
	local right_arm = Tool.Parent:WaitForChild('Right Arm')
	
	if right_arm:FindFirstChildOfClass('Weld') then
	right_arm:FindFirstChildOfClass('Weld'):Destroy()
	end
	local sr = script:WaitForChild('MotorScript'):Clone()	
	
	m6d = Instance.new('Motor6D')
	m6d.Name = 'name the joint into something.'
	m6d.Part0 = right_arm
	if script.Parent:FindFirstChild('Handle') then
	m6d.Part1 = script.Parent:FindFirstChild('Handle')
	m6d.CurrentAngle = 0
	m6d.DesiredAngle = 0
	m6d.MaxVelocity = 1000
	m6d.Parent = right_arm
	sr.Disabled = false
	sr.Parent = m6d
	end
end

function onEquipped()
	if Tool.Parent:FindFirstChild('Right Arm') then
		createmotor()
	end
end

function destroy6d()
	if m6d then
		m6d:Destroy()
	end
        sr:Destroy()
	m6d = nil
end

Tool.Equipped:connect(onEquipped)
Tool.Unequipped:connect(destroy6d)

Next, name a script “MotorScript” and parent it to the script I just gave you. Paste the following into “MotorScript”.

if script.Parent.Parent:WaitForChild('RightGrip') then
     script.Parent.Parent:WaitForChild('RightGrip'):Destroy()
end

To fix any part offsets, in the script where the animations are played (I see you are using FE Gun kit, but please tell me if it’s the modified version), press CTRL+F on your keyboard to open the find menu. Type in “:Play(”, without ending the parentheses, and you should find some lines of code with this. Ignore any code that only has :Play(), and look for specific lines, which should look similar to this: “:Play(yadda, something, whatever)”. Insert a number into the second argument to weight the animations manually. The higher the number, the higher the weight, which will tell the game to select a pose from your animation. Example: :Play(nil,1,2) would play the animation with a weight of 1, and a speed of 2. Make the less important animations (idle, etc.) have a weight of 0.3 or lower. More important animations (fire, reload) should be weighted higher.

Solved this issue with one single attribute
Put boolean attribute in Workspace and name it to RbxLegacyAnimationBlending

1 Like

The attribute isn’t meant for new work, as the new blending is now the foundation of what any future animation update will be i think.

though i understand it’s deprecated but for the sake of non-beginner friendly fix they provided as roblox doesn’t ask us, it’s better than not to do it (waste of time if you’re just going to edit weights for animations)