[Opt-out Phase] Introducing Animator Retargeting for Supporting a Single Animation on Multiple Rigs

Hello developers,

We are excited to introduce a new property ‘Workspace.Retargeting’ to enable opt-in support for animation retargeting.

With this feature, we aim to reduce the need for adjusting animations to fit different character rigs (currently supporting R15) with the vision that a single animation should by default, work well on characters of various proportions and rest poses.

For this rollout, we are starting small with enabling just a subset of our default animations (walk & run).

Here are some comparisons:

Arm Correction: Shoulder and elbow of any character will have the same animated position as that of the character used to author the animation.

Before (left) vs. After (middle) vs. Original(right):

Side by side comparison of the rig for which the animation was authored on (left) and the rig which the animation is applied to (right):


Leg Correction: Leg direction matches original animation and feet will not slide on the ground for different limb proportions.

Before (left) vs. After (right):

Original walk on the rig for which the animation was authored on:

How to try it out

We are enabling opt-in for default animations walk and run.

The property can be set under: Workspace > Behavior > Retargeting

The options are:

  • Default - This will set it to the default state specified by Roblox.
  • Disabled - This will disable the feature.
  • Enabled - This will enable the feature.

The default will start as ‘Disabled’ for the initial release but will change later on to ‘Enabled’ during the opt-out phase.

Note: Workspace.AnimationWeightedBlendFix being enabled is a prerequisite for this feature.

To verify that the feature is active, you can check the asset ids of the walk and run animation within the animate script which should be (note that this will only happen automatically for the auto-generated animate scripts, otherwise the asset ids will need to be manually applied for the feature to work):

  • Walk: 8082693111
  • Run: 8082691629

Coming soon:

  • Expanding to more catalog animations:
    • We will increase the set of enabled animations from our catalog prioritized by popularity.
  • Enable retargeting on animations authored by you the developers

Coming later in the year:

  • Opt-out phase: Live as of August 23, 2022, see update below
    • We plan to switch the ‘Workspace.Retargeting’ from opt-in to opt-out. Right now is a chance for you to enable retargeting and report any issues to us before we make the switch. If you do not want retargeting, it can still be disabled via the property during this phase.

[Update] June 9, 2022

We are happy to announce the beta for saving a rig with animation data.

This will allow the creation of custom retargetable animations for R15. The system will currently support leg retargeting with upper body support on the way. Animations exported with this beta feature now should also be compatible with future retargeting system updates.

To enable the feature, head to File > Beta Features:


[Update] August 23, 2022

Hello developers,

With the beta test for retargetable animations having been out for a while, we are going to move into the opt-out phase of the retargeting rollout .

This means that experiences with the default setting for retargeting will now have it enabled, and players joining those experiences will have lower body retargeting applied to their animations (which should improve the way their movements look).

Please reach out to us if you encounter any issues with your animation (technical or visual) and we will promptly investigate. The feature can still be opted out of by going to:
Workspace > Behavior > Retargeting > Select the ‘Disabled’ setting.

If opting out, we’d appreciate a comment on the thread or a DM to let us know why, or any other feedback that you’d like to share so that we can continue to improve this feature!

Thank you for your continued support!

179 Likes

This topic was automatically opened after 10 minutes.

This is a really good update, and not gonna lie, the old animation with rthro looks like a zombie.

In all seriousness, this has really been needed for a while now.

28 Likes


metal-gear-rising-mgr
Damn, seems like we wont be using animator retargeting. I know that you guys want us to use the AnimationBlendFix but a good part of developers despise it, mostly because of how tedious it is to use, so it would be pretty nice of you guys to make it compatible with AnimationBlendFix = false.

Other than that, seems like a good update.

48 Likes

Looks alright, would save me quite a bit of time! What are the performance costs for this, and would it destory my experience’s memory?

3 Likes

Yoo this is sick, i dont have to worry about my anims looking weird on some characters. Thanks!

9 Likes

I can see the upsides of this, though I don’t think I’ll be using it due to animation blending being required. Otherwise, good update.

5 Likes

Yes now I don’t look like a blind chipmunk when walking around.

7 Likes

Yes! Super excited for this, it means my dragon avatar will finally have normal, non-broken animations.

5 Likes

There is added performance cost, but not to the degree of being experience destroying based on internal stress tests. However, let us know of any instances you notice of significant performance losses as a result. Our goal is to have this be as optimized as possible as well!

5 Likes

Lucky me, I just got into animating so I don’t have to deal with re animating things for different rigs

4 Likes

We hear you on this topic. As development and updates continue on this feature, we’ll work on the compatibility with more use cases such as this. It shouldn’t be a hard dependency in the long run.

13 Likes

If animations effect your experience’s memory to such a degree you should look at other sources of memory

4 Likes

This is really cool, opens up a lot of possibilities for some developers.

However, will we ever get retargeting for R6? So the Motor6D offsets are scaled by limb size? Its really tedious to make multiple animations for different scale characters, and you cant really do it programatically either

3 Likes

Would this also fix changing positions of limbs in animations? It has been an issue I’ve run into with animations when having varying sizes of humanoids and am hoping this also addresses that.

For example, if I have an animation that makes a humanoid kneel or collapse on the ground (lowering the torso as a position change) - the character will be floating (on larger relative humanoids) and will sink into the ground (on smaller relative humanoids)

3 Likes

Though not explicitly addressed with this initial rollout, that is indeed the type of behavior that this feature (along with others coming down the pipeline) aims to fix in the long run.

8 Likes

So basically we can do something like this now without tweaking original animation?

7 Likes

Does this mean we won’t be forced to opt-in into AnimationWeightedBlendFix in the long-run?

1 Like

The only downside of this is having to enable the tedious AnimationBlendFix, but this is a great change!!

People sometimes complain about their gun animations not looking correctly because of the rig i used to animate is way different to their avatar, so i guess this will fix the issue!

1 Like

That’s such a great update, definitely will come in handy if an when I ever do my game idea in the future. Depending on what I do I’d probably use the same walk animation for groups of hostile characters, they would have different looks and heights.

Just in general this is great.

Would be nice to be able to easily export rid etc to things like blender to animate then import back into studio with out needing to use plugins, reason I say this is apparently the one plugin that does allow this isn’t working now (I’d have to get for myself).

Something else that would be nice if the ability to animate objects etc without it needing a humanoid or rig like blender, basically a time line, you move the objects etc. Would be nice to be able to make “advanced cut scenes” and or in game things. (I know it’s possible but from my understanding it requires scripting and cframes, I need to look into it a lot more as the lady time I did that on the topic was a few years ago).

3 Likes