AnimationWeightedBlendFix (Animation Runtime Engine Changes) is breaking animations despite correct priority

Reproduction Steps

1. Set `Workspace.AnimationWeightedBlendFix’ to Default or Enabled.
2. Create a new animation and rotate RightHand, RightLowerArm, RightUpperArm by 45 degrees respectively. The direction or exact degrees do not matter.
3. Set animation priority to Movement or higher and looped = true
4. Play the animation using the default R15 avatar or just disable Player.CanLoadCharacterAppearance.
5. Play the animation using other R15 rigs/packages/bundles such as “Ten Million Robux Man” or “Man”.
6. (Optional) Remove the default Animate script and repeat step 4-5.

Expected Behavior

The animation to look the same as it does in the Animation Editor regardless of rig/package/bundle.

In addition, I expect the animation to be unaffected by Animation Engine - Runtime Changes and Fixes when there are no other animations playing or when the correct AnimationPriority is used.

Actual Behavior

The animation looks incorrect using other R15 rigs/packages/bundles apart from the default one. This can clearly be seen in the affected limbs’ rotation property.

For example, here were the rotations from my test:

Default RightUpperArm: 0, 0, 0
Default RightLowerArm: 45, 0, 0
Default RightHand: 90, 0, 0
Other RightUpperArm 9.71, 6.75, 7
Other RightLowerArm: 45, 0, -21.36
Other RightHand: 89.98, -0.54, -21.95


Workaround

To fix the animation, I must either disable AnimationWeightedBlendFix or CanLoadCharacterAppearance. But this is frustrating considering that AnimationWeightedBlendFix is described to have “huge performance benefits” and I am using the correct usage pattern and thus should be compliant.

Issue Area: Engine
Issue Type: Other
Impact: Moderate
Frequency: Constantly

7 Likes

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

3 Likes

Hi! This issue should be resolved now. Can you confirm?

1 Like

I checked but unfortunately it does not look resolved. Can’t notice any change actually.

^^
I can confirm that the issue is still not resolved

2 Likes

That’s unfortunate. We’ll take a look again.

1 Like

Not sure if you know this already but disabling workspace.Retargeting also fixes the animation.

Hi, we’ll be looking to flip the fix live again pending this week’s release.

There was a brief 2 day period where it went live (Sep 28-30) but was rolled back due to a minor regression. Comms had a slight delay so it would have been off by the time this thread was notified.

Sorry about that, will update once the new version is on.

3 Likes

It should be live now, please take a look and let us know if it looks okay.

3 Likes

Hi, thanks for getting back to me.

I tried to create a couple animation and they seem to be fixed now!

Unfortunately, the problem seem to persist for my actual in-game animations. I don’t know if it’s because their rotations are more complex? Like 40.301 and 3.91 degrees instead of 45.

Would it help if I sent you some of the animations’ keyframes?

Basically, problem seem to be fixed for simple animations like in the reproduction steps but not for my other actual in-game animations.

Yes, if you have a placefile to load up and repro with, that would be great!

I can say the actual numbers could be expected to differ in certain situations since there are adjustments to account for arm alignment differences between the default blocky rig and other characters.

But definitely will be helpful to test the animations hands on.

AnimationBug.rbxl (42.9 KB)

Here’s a repro file! Two tools are parented under StarterPack; each one has a keyframeSequence. Simply upload the keyframeSequence and paste the ID into the Animation instance under the same tool. Play and equip the tools.

You will notice that with workspace.AnimationWeightedBlendfix, workspace.Retargeting or the “Ten Million Robux Man Torso” package, the animations look quite different. CamCam has been tilted on the Z-Axis and AimAim is no longer pointing forward but sideways.

1 Like

Thanks for the repro space, this helped identify the underlying cause of the issue.

TLDR; Just disabling retargeting would probably solve the immediate issue…since the full solution is more complex than just a quick tweak.

While the behavior observed is expected with the current iteration of retargeting, there are some improvements to the design that can be made. In this case, small bends in the forearm and wrist are over-corrected which works well for certain animations but causes misalignment in more precise cases such as this.

as a side note, I think the new IKControl could be something worth checking out :slight_smile:

2 Likes