版本:Unity 6(6000.0)
语言英语
  • C#

ModelImporterClipAnimation.ConfigureMaskFromClip

建议更改

成功!

感谢帮助我们改进 Unity 文档的质量。虽然我们无法接受所有提交,但我们会仔细阅读用户针对每个建议的更改并根据需要进行更新。

关闭

提交失败

出于某种原因,您的建议更改无法提交。请在几分钟后<a>重试</a>。感谢您花时间帮助我们改进 Unity 文档的质量。

关闭

取消

声明

public void ConfigureMaskFromClip(ref AvatarMask mask);

参数

mask 将保存遮罩值到的AvatarMask

说明

将剪辑中的当前遮罩设置复制到AvatarMask

在编写AssetPostprocessor时,请使用此方法从剪辑配置中复制AvatarMask,以便您可以修改它。

注意:您需要使用ModelImporterClipAnimation.ConfigureClipFromMaskAvatarMask重新应用到ModelImporterClipAnimation

另请参见:ModelImporterClipAnimation.ConfigureClipFromMask

using UnityEditor;
using UnityEngine;

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 Object.DestroyImmediate(mask); } }