You can import character models with animateable heads into Studio and use the automatically generated FaceControls instance to pose or animate the face.
To set up heads with facial animation in your experience:
- Import a model with a animateable head. You can either create your own or use one of the provided reference model files.
- (Optional) Import face accessories you want to deform with the facial expressions of your head. You can either create your own or use one of the provided reference accessory files.
- Animate the head in the Animation Editor by either adding in individual animation tracks, or by using the Face Animation Editor.
If you want to experiment with pre-made heads before making your own, Roblox has a reference experience you can access to see how heads interact with Studio's interface, as well as two reference models and accessories you can import directly into your own experience:
|Head Animation In-Experience Editor||A reference experience that allows you to preview a Goblin and Blocky head with various accessories using an editor.|
|Head Schema Reference||A reference experience with a head Blocky model with FaceControls.|
|Goblin Character Model||A Goblin character model with an animateable head.|
|Blocky Character Model||A Blocky character model with an animateable head.|
|Blocky Face Accessories and Clothing||A .zip file of Blocky-specific accessories, including:|
You can import any model with a head from a .fbx file into Studio. If you would like to include face accessories such as a beard or mustache, you must import and equip the face accessories separately.
To import a head into your experience:
In the menu bar, navigate to the Plugins tab and click Avatar Importer.
Select the type of avatar you want to import to use your head. If you're unsure, select Rthro. A file browser displays.
Select your head .fbx file, then click the Open button. A popup warning displays with a warning that you may not be importing an Rthro character.
Select Continue as Rthro. The character displays in your workspace, and the Output window prints all upload details.
Importing Face Accessories
You can import and equip face accessories that you want to deform with the facial expressions of your head. For example, when you import and equip eyebrows as a face accessory, you can animate the eyebrows to move with the character's eyes.
By default, when you import a face accessory, it imports as a MeshPart object. Using the Accessory Fitting Tool, you can convert the MeshPart into an Accessory instance that is compatible with the head.
To import a face accessory:
In the menu bar, navigate to the Plugins tab and click on the Avatar Importer. A pop-up window displays.
Select Custom. A file browser displays.
Select your head .fbx file, then click the Open button. The model displays as a MeshPart.
- In the Plugins tab, click on the Accessory Fitting Tool. The Accessory Fitting Tool window displays.
- In the Explorer window, select the MeshPart you imported as a face accessory. Its name displays in the Part field.
- Click the Next button.
- In the Clothing category, select Face, then click the Next button.
- (Optional) In the Edit panel, use the adjustment options to ensure the accessory fits your model.
You can preview the accessory on your imported model by making the Accessory instance a child of your character Model. You can only equip character-specific face accessories with their designed character.
You can also save the Accessory instance to your toolbox and use the asset ID at any time in your experiences. For information on equipping accessories by applying a HumanoidDescription, see Customizing Characters with Humanoid Description.
You can enable the WrapLayer.AutoSkin property in the accessory's WrapLayer instance to apply the skinning of the head to the face accessory. This allows a face accessory to fit and follow a character's expressions without having to apply any skinning influences to it during the 3D modeling process.
The following options are available for the WrapLayer.AutoSkin property:
- Disabled: Disables the Automatic Skinning Transfer process. This is the default value.
- EnabledOverride: Enables the Auto-Skin Transfer process and allows Studio 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: Enables the Automatic Skinning Transfer process but doesn't 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. If there isn't any skinning to maintain, the Auto-Skin Transfer creates new skinning automatically.
You can adjust these properties in the Animation Editor to animate your head. For more information, see Animating Heads.
When importing custom head models, the Output window displays an error or warning message if there were any issues during the configuration process.
Error messages indicate a failure to properly import a model with a head. Reference the following table for a summary of all head error messages and troubleshooting tips:
|Failed importing dynamic head.||The .fbx file is corrupted.|
|Found more than one joint named X. All joints must have unique names.||Ensure that every joint that you import has a unique name.|
|Failed importing dynamic head: Correctives can be for at most 3 control names.||Studio found a corrective with more than 3 corrective poses. This isn't supported, so you need to delete the corrective.|
|Failed importing dynamic head: Unrecognized FACS control name X.||X is an unrecognized FACS pose name. Ensure that X is renamed to one of the standard FACS poses.|
|Failed importing dynamic head: Invalid corrective name X: Neutral cannot be part of a corrective.||X is an invalid corrective name. Ensure you are following the correct naming format for correctives.|
|Failed importing dynamic head: Found duplicate FACS control name X for corrective Y.||X is an invalid corrective name. You can only include a base pose that is listed as part of a corrective once in the corrective name.|
|Failed importing dynamic head: Couldn't parse the frame number in Extra Attribute named X.||You must name any extra attributes “Frame0”, “Frame1”, etc.|
|Failed importing dynamic head: Empty value found for Extra Attribute named X.||The extra attribute X has no value. Add a base pose name or corrective, or delete the extra attribute.|
|Failed importing dynamic head: Duplicate control name found.||You set a FACS pose or corrective to multiple frames. Ensure that each FACS pose or corrective is set to only a single frame.|
|Failed importing dynamic head: Head_Geo has no Extra Attributes that map FACS controls to animation frames.||The “Head_Geo” mesh in the FBX file must have extra attributes in order to animate facial expressions. The imported avatar will not animate facial expressions.|
|Failed importing dynamic head: No frame was set to "Neutral" in animation.||Must have one frame set to “Neutral” in the animation timeline.|
|Failed importing dynamic head: X has not been specified. This is needed for corrective Y.||All base poses for a corrective must be set in the extra attributes. For example, if the Funneler_JawDrop corrective is set, then there must be poses for Funneler and JawDrop alone.|
|Failed importing dynamic head: Missing key frame X for Y.||There is an extra attribute “FrameX” set to Y, but the animation timeline has no frame X.|
|Failed importing dynamic head: No joints were found under DynamicHead.||The .fbx file doesn't have any joints under the “DynamicHead” joint.|
|Could not load FACS control data.||There are corrupted joint parameters in the .fbx file.|
Warning messages indicate a potential issue with an imported head model. Reference the following table for a summary of all head warning messages and troubleshooting tips:
|You have corrective X, but missing corrective Y to support it. This may cause odd deformations.||You set a 3-corrective without setting the base 2-corrective. The imported head will animate, but there might be strange deformations.|
|Skipping attribute X: Y||Studio found an extra attribute named X, but since it didn’t match the format of “Frame#”, it was ignored.|
|Control X is nearly identical to Neutral.||The pose for X is very similar to Neutral. Studio reports this in case this was a mistake, but the import will be successful as long as there are no other failures.|
|Found only N base poses. Your character may not be able to express itself.||You only defined a subset of base poses in the .fbx file. The import will still be successful as long as there are no other failures.|