예제 #1
0
        private void UpdateMask(ClipAnimationMaskType maskType)
        {
            if (this.clipInfo == null)
            {
                return;
            }
            if (maskType == ClipAnimationMaskType.CreateFromThisModel)
            {
                SerializedObject serializedObject = this.clipInfo.maskTypeProperty.serializedObject;
                ModelImporter    modelImporter    = serializedObject.targetObject as ModelImporter;
                AvatarMaskUtility.UpdateTransformMask(this.m_TransformMask, modelImporter.transformPaths, this.humanTransforms);
                this.FillNodeInfos();
            }
            else if (maskType == ClipAnimationMaskType.CopyFromOther)
            {
                AvatarMask avatarMask = this.clipInfo.maskSourceProperty.objectReferenceValue as AvatarMask;
                if (avatarMask != null)
                {
                    AvatarMask avatarMask2 = this.target as AvatarMask;
                    avatarMask2.Copy(avatarMask);
                    if (this.humanTransforms != null)
                    {
                        AvatarMaskUtility.SetActiveHumanTransforms(avatarMask2, this.humanTransforms);
                    }
                    this.clipInfo.MaskToClip(avatarMask2);
                    this.FillNodeInfos();
                }
            }
            AvatarMask mask = this.target as AvatarMask;

            this.clipInfo.MaskFromClip(mask);
        }
예제 #2
0
 private void UpdateMask(ClipAnimationMaskType maskType)
 {
     if (this.clipInfo == null)
     {
         return;
     }
     if (maskType == ClipAnimationMaskType.CreateFromThisModel)
     {
         AvatarMaskUtility.UpdateTransformMask(this.m_TransformMask, (this.clipInfo.maskTypeProperty.serializedObject.targetObject as ModelImporter).transformPaths, this.humanTransforms);
         this.FillNodeInfos();
     }
     else if (maskType == ClipAnimationMaskType.CopyFromOther)
     {
         AvatarMask objectReferenceValue = this.clipInfo.maskSourceProperty.objectReferenceValue as AvatarMask;
         if ((UnityEngine.Object)objectReferenceValue != (UnityEngine.Object)null)
         {
             AvatarMask target = this.target as AvatarMask;
             target.Copy(objectReferenceValue);
             if (this.humanTransforms != null)
             {
                 AvatarMaskUtility.SetActiveHumanTransforms(target, this.humanTransforms);
             }
             this.clipInfo.MaskToClip(target);
             this.FillNodeInfos();
         }
     }
     this.clipInfo.MaskFromClip(this.target as AvatarMask);
 }
        private void UpdateMask(ClipAnimationMaskType maskType)
        {
            if (clipInfo == null)
            {
                return;
            }

            if (maskType == ClipAnimationMaskType.CreateFromThisModel)
            {
                SerializedObject so            = clipInfo.maskTypeProperty.serializedObject;
                ModelImporter    modelImporter = so.targetObject as ModelImporter;

                AvatarMaskUtility.UpdateTransformMask(m_TransformMask, modelImporter.transformPaths, humanTransforms);
                UpdateTransformInfos();
            }
            else if (maskType == ClipAnimationMaskType.CopyFromOther)
            {
                AvatarMask maskSource = clipInfo.maskSourceProperty.objectReferenceValue as AvatarMask;
                if (maskSource != null)
                {
                    AvatarMask maskDest = target as AvatarMask;
                    maskDest.Copy(maskSource);

                    // If this is a human clip make sure that all human transform path are set to true
                    if (humanTransforms != null)
                    {
                        AvatarMaskUtility.SetActiveHumanTransforms(maskDest, humanTransforms);
                    }

                    clipInfo.MaskToClip(maskDest);
                    UpdateTransformInfos();
                }
            }
            else if (maskType == ClipAnimationMaskType.None)
            {
                var emptyMask = new AvatarMask();
                ModelImporter.UpdateTransformMask(emptyMask, clipInfo.transformMaskProperty);
            }

            AvatarMask mask = target as AvatarMask;

            clipInfo.MaskFromClip(mask);
        }