7 [CreateAssetMenu(menuName =
"TriLib/Mappers/Animation Clip/Legacy To Humanoid Animation Clip Mapper", fileName =
"LegacyToHumanoidAnimationClipMapper")]
19 public override AnimationClip[]
MapArray(AssetLoaderContext assetLoaderContext, AnimationClip[] sourceAnimationClips)
21 var animator = assetLoaderContext.RootGameObject.GetComponent<Animator>();
22 if (animator !=
null && animator.avatar !=
null && animator.avatar.isHuman)
24 animator.enabled =
false;
27 if (assetLoaderContext.Options.ShowLoadingWarnings)
29 Debug.LogWarning(
"No MecanimAnimationClipTemplate specified when using the LegacyToHumanoidAnimationClipMapper.");
34 for (var i = 0; i < sourceAnimationClips.Length; i++)
36 var animationClip = HumanoidRetargeter.ConvertLegacyIntoHumanoidAnimationClip(assetLoaderContext.RootGameObject, animator.avatar, sourceAnimationClips[i],
MecanimAnimationClipTemplate);
37 if (animationClip !=
null)
39 sourceAnimationClips[i] = animationClip;
42 animator.enabled =
true;
44 return sourceAnimationClips;
Represents a Mapper that converts legacy Animation Clips into humanoid Animation Clips.
AnimationClip MecanimAnimationClipTemplate
Template mecanim animation clip. Unity runtime API can't access mecanim animation clip settings as ro...
override AnimationClip[] MapArray(AssetLoaderContext assetLoaderContext, AnimationClip[] sourceAnimationClips)