Animated arms and head do not rotate with UpperTorso when UpperTorso.Waist.C0 is rotated

I’ve experienced this issue as well. Setting Workspace.AnimationWeightedBlendFix to ‘disabled’ serves as a temporary fix but hopefully the official fix comes soon as the AnimationWeightedBlendFix property is slated to be removed on November 1, 2022.

5 Likes

This happens for every limb, not just the upper torso and head. Happens with the arms and legs as well.

Apparrently, another work around is to change the animation to the Core priority, but this isn’t ideal. Any priority below Movement will allow some motion, but Core allows all freedom of C0.

5 Likes

this happened to me too. out of nowhere. its a studio issue with the new animations update

2 Likes

So, this happens to me, IDK how to solve it, and November 1 is coming and nothing of Roblox give a solve ;/

4 Likes

Like @InfiniteEffect said, you could temporarily set Workspace.AnimationWeightedBlendFix to disabled to fix this issue for now.

4 Likes

This has now been removed so we’re back on the search for an alternative solution.

Edit:

as per suggestion of @AllYourBlox , setting workspace.Retargetting to disabled will fix this issue.

9 Likes

We’re actively exploring ways to make it easier to do procedural animation through Lua code that will actually replicate to the server and other clients. You can currently animate joints via Lua by updating the Motor6D.Transform property on RunService.Stepped, but if done from a LocalScript on your own character, it will not replicate to the Server or to other clients. It requires manual replication via RemoteEvents, which is cumbersome.

Motor6D.C0 and Motor6D.C1 are the part-to-joint-pivot CFrames that are initialized when your character spawns, from pairs of attachments that have “RigAttachment” in their names. Local changes to them don’t replicate either. These values aren’t meant to be animated; there is a separate animatable Transform property sandwiched between them that is intended changed every frame. A Motor6D’s three CFrames all get multiplied together in the order C0 * Transform * C1:Inverse() when the joints are evaluated, so anything you would have done to C0 directly should instead be done as a post-multiply using Transform. The Animator also sets Transform, so if you’re blending a procedural change with animation changes, you may not want to just set (overwrite) Transform, you may need to modify it instead.

Wherever possible though, animation should be done with animations, not code. There is no mechanism available right now to procedurally animate on the client from Lua and have it replicate automatically, or with temporal consistency or interpolation, to the server or other clients. Animation on the other hand is synched to a real-time clock on each machine, and interpolated, so it’s smooth.

11 Likes

Setting Workspace.Retargetting to disabled does infact unlock the arms, but it won’t stay disabled for me. If I set it to disabled, it switches to default in player or if I restart studio. If anybody else is having this issue, you can set it to disabled during runtime with this code:

game.Workspace.Retargeting = Enum.AnimatorRetargetingMode.Disabled
7 Likes

There is easy fix, just set the animation priority to core and then to whatever you want.

Example: Animation fix - YouTube

2 Likes

I used this workaround several months ago, but it still doesn’t solve the root cause.

2 Likes

I am also experiencing this issue. I am very upset that not only has Roblox forced AnimationWeightBlendedFix onto us, but will also presumably force Retargeting onto us. While retargeting mostly fixes the issue, I am completely unsure how to make arms rotate with the torso with it enabled. I need that to make the weapon I’m holding point towards the way the torso is orientated.

EDIT: It would seem that using Motor6D.Transform mostly resolves the issue

4 Likes

Retargeting is fine and does not cause issues for me. Am I not aware of an issue?

I will test this again in case they applied a fix.

1 Like

I tried this, the arms just look like they are frozen. They don’t react to the animation.

3 Likes

I was having this problem too, thank you!

3 Likes

I am also having this issue! I hope it is resolved soon. :slight_smile:

1 Like

To fix this issue you need to set Workspace.Retargetting to disabled.

Furthermore, from my tests, animations made before Workspace.Retargetting was added will work fine with changes to C0 even if it is enabled

2 Likes

Currently having a same problem there.

Retargeting seems to work fine but only in Studio, in the published game the animations still break.

When i patched this bug in my game it wasn’t being replicated through to others in team create, so my theory is that the workspace.Retargeting property just doesn’t save for some reason. Try adding this to your game and see if it works now:

workspace.Retargeting = Enum.AnimatorRetargetingMode.Disabled
1 Like

Workspace.Retargeting does not fix the issue. It’s AnimationWeightedBlendFix.

You can try to fix it by adding a boolean attribute named “RbxLegacyAnimationBlending” into workspace and set it to true, but I don’t consider this a long-term solution and it does not appear to work in my use case. I’m eventually going to use CFrame for all of my animations in my game and forget about Animator and its problematic implementations.