Legacy Documentation: Version 5.5
LanguageEnglish
  • C#
  • JS

Script language

Select your preferred scripting language. All code snippets will be displayed in this language.

ModelImporterClipAnimation.ConfigureMaskFromClip

public void ConfigureMaskFromClip(ref Animations.AvatarMask mask);

Parameters

mask AvatarMask to which the masking values will be saved.

Description

Copy the current masking settings from the clip to an AvatarMask.

When writing an AssetPostprocessor, use this method to copy the AvatarMask from your clip configuration so that you can modify it.

Note: you will need to use ModelImporterClipAnimation.ConfigureClipFromMask to apply the AvatarMask back on the ModelImporterClipAnimation

See also: ModelImporterClipAnimation.ConfigureClipFromMask.

public class CopyAvatarMask : AssetPostprocessor 
{
	void OnPreprocessAnimation()
	{
		var modelImporter = assetImporter as ModelImporter;
		
		//Create a new AvatarMask to edit the mask
		var mask = new AvatarMask();
		var clips = modelImporter.clipAnimations;
		
		//Acquire the mask from the clip
		clips[0].ConfigureMaskFromClip(ref mask);
		
		//Filter out the first non-root (0) bone
		mask.SetTransformActive(1, false);
		
		//Apply the mask back to the clip
		clips[0].ConfigureClipFromMask(mask);
		
		//Apply the clips back to the ModelImporter
		modelImporter.clipAnimations = clips;
		
		//Destroy the AvatarMask since we're not using it anymore
		DestroyImmediate(mask);
	}
}