[Now in Full Release] Automatic Skinning Transfer Beta

[Update] June 28, 2022


Hello developers!

We’re excited to announce that we’re releasing a public Studio Beta of Automatic Skinning Transfer, which is an extension to the existing Cage Mesh Deformer first announced here. Auto-skin transfer is useful because it allows accessories to deform accurately without having to build skinning into the asset itself. This new feature also allows accessories to fit on to and deform accurately with a wider variety of different characters and avatars.

Automatic skinning transfer is designed to work with the new Dynamic Heads Studio Beta announced here and all of the accessories that go along with Dynamic Heads (i.e. beards, eyebrows, hair, etc.). These types of auto-skinned accessories can be seen on these goblin and blocky-type characters.

The main benefits of this new Automatic Skinning Transfer feature are:

Content creators no longer need to apply skinning to the accessories that they create.

  • With auto-skin transfer enabled, an accessory will only need the mesh itself and its associated cages (Inner and Outer cages). Painting skin weights is typically a complex task that requires technical expertise in 3D tools. This feature automates this task by transferring skin weights from the avatar’s head or body onto the accessory at run-time.

Auto-skinned accessories will work well with most geometries and characters they are attached to, even those using different kinds of skinning.

  • An accessory (in general) will only deform accurately with a geometry or character that has a similar kind of skinning that the accessory itself has, but there would be problems with the deformation if used on a character that is using a different kind of skinning (e.g. a different number of bones, different skinning-weight patterns, etc.). This requirement would have been especially difficult for the new Dynamic Heads since these heads can use different numbers of joints and different skinning internally. Now with Automatic Skinning Transfer, the actual skinning of the character doesn’t matter since whatever that skinning is, it will be transferred automatically and applied to the accessory at run-time.

What is Automatic Skinning Transfer?

This is an opt-in feature of the Cage Mesh Deformer that, if enabled for an accessory, will perform an additional computation to transfer the skinning weights and rig information from the source geometry onto the accessory itself. This transfer happens during run-time within the engine when the accessory is applied to the character.

The new skinning weights and rig associated with the accessory will then be used to drive the accessory’s deformations and motions in sync with the source geometry itself. This is depicted in the figure below where a Beard accessory is being applied to both a Blocky-type and a Goblin character.

Since Automatic Skinning Transfer is an extension to the existing Cage Mesh Deformer, all of the requirements of that deformer, as noted here, also apply. This means that accessories still need proper Inner and Outer cages. The actual skinning transfer process uses those cages to help with the projection of the skinning from the source geometry onto the accessory, so it is important that all of those Cage Mesh Deformer rules, requirements, and guidelines are followed.

This left image shows a non-skinned beard applied to our Goblin character performing a cheek-puff and eyebrow-raise animation, and since the automatic-skin transfer isn’t used here, the beard remains static with respect to the face deformation.
The right image shows the beard using the new automatic-skin transfer feature, and because of this, the beard now deforms accurately with the Goblin’s face.

As the Automatic Skinning Transfer name implies, skinning information will be transferred from the source geometry onto the accessory being attached. This means that the source geometry or character actually has to have skinning information associated with it. If the source character is not skinned, the transfer process will not take place. This means that R15 bodies that are not skinned can’t currently make use of this new feature, although we plan to support auto-skin transfer for such bodies soon.


How do I use this new Auto-Skin Transfer feature?

We’ve prepared this example place to demonstrate the use of Automatic Skinning Transfer: Dynamic Head Customization Example.rbxl.

You will need to enable the Automatic Skinning Transfer and the Facial Animation Beta Features in order to use the example place.

Once enabled, you should see a new Parameter associated with every WrapLayer instance in the DataModel. The WrapLayer instances are part of the Cage Mesh Deformer and are associated with (usually children of) all accessories that can be applied using the deformer. The new Enum Parameter is called AutoSkin and can be seen in the example Properties window below. There are three options for the AutoSkin Property:

  • Disabled: This is the default value for this Property, and as the name implies, does not activate the Automatic Skinning Transfer stages of the Cage Mesh Deformer.

  • EnabledOverride: This option will Enable the Auto-Skin Transfer process and will allow it to OVERRIDE any existing skinning information found on the accessory. Choose this setting when you want to set or replace the existing skinning of an accessory using the Auto-Skin Transfer version.

  • EnabledPreserve: This option will Enable the Auto-Skin Transfer process but will NOT allow it to override any existing skinning information found on the accessory. Choose this setting when you want to preserve and maintain any existing skinning of an accessory, but create new skinning automatically if there is no existing skinning to maintain.

By setting the value of this new parameter, we expect that content creators will enable or disable the Automatic Skinning Transfer feature for their specific accessory before they upload it to the catalog. In most cases, only the content creator will know if the auto-skin transfer is effective for their accessory, so we expect them to test and apply the feature if they wish to use it. However, the AutoSkin property on the WrapLayer instances can be changed procedurally at run-time through Lua scripts if desired.

Currently, it is known that Automatic Skinning Transfer works well for Beard, Eyebrow, and Hair facial-type accessories. It can also work well for Shirt, Pants, Shoes, and Jacket body-type accessories, although currently, the transfer will only take place if the body itself is skinned. Transfer may not work as well for Eyelash-type accessories due to the (usual) complexity of the character’s geometry around the eye region. It also doesn’t work well for Hat and Glasses type accessories because it would introduce deformation in areas that should be ‘rigid’. In general, those types of accessories (Hat, Glasses) probably shouldn’t have any skinning associated with them and should remain rigid. A summary of reasonable initial settings for the AutoSkin parameter listed by accessory type is shown in the table below:

Beard Eyebrow Eyelash Hair Hat Glasses Shirt Pants Shoes
Enabled Override Enabled Override Disabled Enabled Override Disabled Disabled Enabled Override or Enabled Preserve Enabled Override or Enabled Preserve Enabled Override or Enabled Preserve

Please try out this new feature and let us know if you have any questions, suggestions, or if you run into any issues.

141 Likes

This topic was automatically opened after 8 minutes.

This is indeed a great feature! I’m looking forward to it.

9 Likes

This is a genuine improvement to the development process. This is one of the few things Roblox offers that is a step up from the industry, which makes me really happy to see.

11 Likes

This is amazing, truly a very useful freature that will for sure enhance the quality of general accessory assets on the platform.

6 Likes

Amazing Feature No more clipping :wink:

4 Likes

Table is extremely useful, not to mention the entire update. Lifelong thanks.

3 Likes

This sounds awesome, but this image is going to be burned into my mind for eternity

38 Likes

Two steps into the uncanny valley, one step out of it. Nonetheless, this looks quite impressive!

7 Likes

Will be very interesting to see the creative avatar asset combinations this will be used for, especially its integration with voice chat. Will we see more expressive emotes in the future which combines existing avatar animations in the catalog with facial animations?

2 Likes

This is lovely, but there’s one issue:

It wasn’t my intent to NightDev today…

9 Likes

But how to we will know what is it that can be of need helped to do a script

1 Like

While I personally have mixed feelings about face controls, layered clothing and whatnot (honestly feels kinda weird to me), I must admit that the technology advancement part of Roblox is actually impressive. Especially within the recent few years. I started back up on Roblox in 2018 from a 3-year hiatus and even when I first came back, if you told me that mesh deformation was going to be implemented and would become this advanced on the platform, I wouldn’t have believed you.

4 Likes

In the future all emotes in the catalog will include a face animation! Even Avatar Animation packs (running, walking, jumping) will include a face animation that will bring your avatar to life!

7 Likes

This is awesome. I have to give this a try.

1 Like

Its Very Good Feature but what happened if i use headless head?

5 Likes

If you’re referring to a headless head as a fully transparent Dynamic Head, then yes, the face accessories will still deform properly as seen in the image below!

12 Likes

I believe that @1r_ai was referring to the head in this package: Headless Horseman - Roblox

3 Likes

yeah… this is quite horrifying…

2 Likes

what exactly do you mean you mean by

?