Animation arms bend inwards when modifying roots

When I’m using Realism — Make your games feel more immersive! - Resources / Community Resources - DevForum | Roblox or a simple tilt script, the player’s arms bend inwards. This is most likely a problem with the animation since these scripts work fine in other places without this specific animation. What could be causing this problem?

What happens:
image

What should happen: (ignore boots)
image

Any help is appreciated!

2 Likes

Edit: This wasn’t an animation error, this was a problem with the new Roblox update. After looking online the problem was said to be fixed however that’s simply untrue. Animations look incorrect & wobbly when played (different than editor) - Bug Reports / Engine Bugs - DevForum | Roblox

This actually isn’t an animation issue or related to the linked retargeting bug.That realism script system is trying to update joint Motor6D.C0 values to produce animation. This has never been recommended, and changes to this property have never replicated client-to-server.

Motor6D.C0 and C1 are static offsets that are set one time when a character is rigged, this is the intended and supported use. For making changes to Motor6Ds every frame, they have a separate Transform property specifically for this purpose. Every frame, the offset enforced by the motor between Part0 and Part1 is computed from C0 * Transform * C1:Inverse(). Any changes that are being made in realtime to C0 or C1 should instead be applied using Motor6D.Transform on RunService.Stepped.

3 Likes

A positive of manipulating the C1/C0 is it lets you have animation changes in real-time.

The issue with running it on .Stepped is everything will be a frame behind as it fires after scene rendering starts.

This means if you want to make a simple script to make the rotation of the torso bend up and down with the cursor, the transform will not be in sync with the camera. The only solution is to run the camera logic on the .Stepped too but then you end up with a very sluggish feeling camera/movement system.

You can see in red where the camera logic is done and in blue where the animation change has to happen with .Transform.

If you have any solutions please let me know because right now I have to choose between:

  • Broken elbow on all animations BUT the arms are perfectly in-sync. (Manipulate C1/C0)
    OR
  • Correct elbow on all animations BUT the arms appear jittery as they are one frame behind. (Manipulate Transform)

EDIT: I should mention that trying to set .Transform on RenderStepped seems to do nothing. It appears there is a stage AFTER RenderStepped and BEFORE the actual scene rendering begins where the .Transform is updated for animations but developers do not have access to.

I had the same problem with my game that I’ve been trying to fix for months, when I disabled the “Retargeting” property under Workspace the arms bending inward

I’m having a similar issue with the Social Interactions module. For some reason, the arms bend inwards if the character does not have an idle animation equipped. In other words, this seems to only affect the default R15 animation.

If anyone has any suggestions for fixing this issue, please share them!

I think I may have found the solution, relating to @tytyknight 's reply to this thread. I’m not sure if it works for all the other body movement scripts, but disabling Retargetting under workspace seems to work for mine. (I’m no programmer, so this could have unintended consequences)

1 Like