Arms are no longer animating correctly

It appears that arms no longer animate correctly when loaded and played in Roblox.
From a quick glance, it appears that perhaps there are rotational issues at play.

Here is the animation played in a browser extension for comparison to show how it should actually work:

I know this Animation should be working because not only has it never changed, it’s also an official Roblox animation.

(addendum, I’ve also confirmed arm relating issues with several other Roblox official animations)
fasion: rbxassetid://3333331310
flex: rbxassetid://3333387824
ballerinca: rbxassetid://3334968680
salute: rbxassetid://3333474484
dance 3: rbxassetid://6937743712
dance 4: rbxassetid://3361276673
(somewhat unrelated, but dance 2: rbxassetid://6937737255 doesn’t even loop properly)

Repro place:
BrokenAnimation.rbxl (40.8 KB)

4 Likes

Just to add, there are also various humanoid replication(?) / animation issues happening in a few games - Wings of Fire and Warrior Cats: Ultimate Edition to name a few, starting at least as of this week. Seems like there’s some issues in this area in general. The thread about the issues in Warrior Cats is here: Other players clipping underground and animation replication issues.

Of course there’s always a chance this is simply caused by rig updates too. Worth noting though that I do not see anything wrong when I test with your avatar in Studio.

1 Like

This doesn’t just happen to Roblox animations. If you manually manipulate the C0 of the Root motor, just look at what happens to the arms!

I’ve started experiencing this today, and a variant of it when AnimationWeightedBlendFix came out. Seems to be a side effect of AnimationWeightedBlendFix.

Thanks for the report! We’ll follow up when we have an update for you.

1 Like

Thanks for the report. I’m having trouble reproducing this issue, the animation is playing correctly for me on an NPC in studio. Do you have a test place or script that reproduces it for you?

I appended a repro place in the description that showcases the issue. I’m also on the latest version of studio

Your test place is playing this Fashionable emote at Core priority without stopping the idle animation loop that the default Animate script plays all the time. So you’re getting a blend of the two. If you set the emote track priority higher than Core it will play as you expect:

track.Priority = Enum.AnimationPriority.Idle
track:Play()

If you really need the emote to play at Core priority, you have to either stop the other animations first, or set their weights to be tiny (like 0.0001) so they are effectively not contributing. But these could require forking the animate script; it’s preferred for animations played from developer code to use Priority to override Roblox Core animations.

2 Likes

Thank you for figuring out the solution, I had no idea the different prioritized animations overlapping would create something so severe like this. A bit of an oversight on my part

Yes, you generally only want to blend animations that were engineered to be blended together, like walk and run animations that are in sync with the same number of frames. Roblox’s animation system (most game animation systems in fact) does a weighted linear blend of the joint transforms. If you blend randomly chosen animations, any place where the animations are rotating a joint in very different directions, the resulting linear combination of rotations is not really mathematically valid and can hit singularities where things “flip” and glitch. This kind of system works best when blending between animations that are already similar (relatively small angular differences between them for each joint).

2 Likes

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.