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

My models are closer to s1. It works for me.

2 Likes

That’s interesting, I imported the Lola S1 from Roblox to give it a go and this feature wasn’t working for it, there must be some nuance I’m missing.

This is a nice addition, especially for me; I’ve noticed that the slightest difference between avatars (body scaling, parts, etc.) can offset their arms enough to make drinking animations look weird. Trying to fix this with individual animations would require a practically infinite amount of them, or just limiting what scaling/parts are allowed in the game. Animation retargeting came at the perfect time!

I’ve noticed every time I close then reopen Roblox Studio, Retargeting is reverted to the “default” setting instead of staying on “enabled”. Is this a bug or is it intentional? Retargetting works well in my incomplete “experience”, so I’d like for it to stay on between editing sessions. Here’s a good example of retargeting I’ve discovered:


This pose was made with a woman dummy. My character uses the girl arms so her hand clips through the table.

With retargetting, her hand is on top of the table, just like the original animation! It’s very cool.

Before that pose, I animated my avatar holding that cup with both hands, using an almost-exact import of my avatar as the “reference” rig, using the same body part combination and proportions.

When my avatar plays the same animation, her left hand, which is positioned close to the cup, doesn’t appear to still be holding it, even when retargeting is enabled. Is this normal?

4 Likes

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:

4 Likes

Hey thanks for trying it out!
The behavior you pointed out is expected for now, as we are still in the process of enabling retargeting ik on the upper body.

Once upper body is enabled, the arms and hands should start to look better. :slight_smile:

4 Likes

Any plan to expand this to custom characters to solve the following issue?

For our use-case, we don’t need anything sophisticated. All we need is a way to change the factor of the keyframes’ position value on-the-go. Like how you can do AnimationTrack:AdjustSpeed.

Something like AnimationTrack:AdjustScale or :AdjustPositionFactor would be great.

Right now, we need to upload several versions of each animation like “Large_Dragon_Walk”, “Medium_Dragon_Walk”, “Small_Dragon_Walk” because each keyframe’s position remain static no matter the rig size. Like if one keyframe has position Vector3.new(1, 0, 0), that looks fine for the large dragon’s right leg, we’d like it to be Vector3.new(0.5, 0, 0) for the smaller dragon.

5 Likes

Any update on this? Its been almost 4 months now, and no news.

Being able to scale the animation Motor6D offsets with code would be a huge time saver. Not even automatically, just something like an AdjustScale() function would still be a very big improvement.

3 Likes

@SirMing @BackspaceRGB
I think both suggestions are similar and good points.

While the retargeting feature isn’t necessarily aimed at exposing new code APIs such as AdjustScale() on animations tracks. The end results we are working towards are inline with that.

But to answer the main question:
Once R15 support has been fleshed out and stabilized, our long-term goal would be to expand to cover more characters (custom etc.)

4 Likes

This is reassuring.

Is there an estimate to when support for custom characters/R6 will be added? I assume its not in the near future, but I might as well ask.
And also, would it work the same way for custom characters? Where it “just works” when you upload an animation and use it on different scale characters?

R6 would likely be a bit easier due to the simplicity of the schema. As for custom characters, no hard schedules are set…I can say it will take longer due to the added complexity and may be a gradual release that gets fleshed out over time.

The “it just works” aspect will of course be a core guiding principle :slight_smile:

2 Likes

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!

1 Like

I see this is now opt out phase, nice, but does it mean this is now kind of live?

yes! that’s correct, this is currently live.

Hello, my rig breaks once I use animation retargeting and I would like to know if it’s a fault on my side or it’s engine fault, heres the video of how does it behave with Retargeting enabled:

The error is that the hands are incorrectly positioned. I think it is because I’m rewriting manually the C0 from the Waist joint

Here’s how it behaves without the Retargeting enabled (and its expected behavior):

3 Likes

The videos are broken! Someone please re-upload them, I have no idea if this is the golden solution I am looking for!

2 Likes

Sorry for the delayed response.

A fix that tries to address this to a degree was recently enabled
It is indeed a known issue with manually setting C0 values that a few others had reported.

There are plans to further improve the handling in cases like this. If the intermediary fix doesn’t do enough though, then disabling retargeting may be the only option in the meantime.

2 Likes

Manually setting the retargeting property doesn’t seem to save, I can only get it to work in studio, is this intended?

I didn’t manage to repro on a blank baseplate. Any additional details you could add? For example are you trying to enable/disable the property, how are you checking if the property is on/off?

1 Like

I’m attempting to disable the property.

My issue occurs due to manipulating C0 of the character’s waist.

When testing in studio, retargetting enabled results in this snappy behaviour where the animation will not move with the waist.

Whereas when testing with it disabled causes it to behave as intended, or at least as I intend.

Regardless of my attempts to disable the property, in - game will always result in the first video, as if the property is still enabled.

6 Likes

Would it be possible to upload a .rblx for testing this? And were you able to repro on a clean baseplate? I’ve tried to make places, upload them and the property changes seem to save as expected.

My speculation for now is that there could be some other factor related to the behavior as well. Or possibly a restart of game servers after saving and republishing is needed for the property to apply.

1 Like