SetTransformActive() 개인적인 메소드

private SetTransformActive ( int index, bool value ) : void
index int
value bool
리턴 void
예제 #1
0
		static void CreateMask()
		{
			Animator animator;

			if(!Selection.activeGameObject)
			{
				return;
			}

			animator = Selection.activeGameObject.GetComponent<Animator>();

			if(!animator)
			{
				return;
			}

			List<Transform> transforms = new List<Transform>();

			AvatarMask avatarMask = new AvatarMask();

			animator.GetComponentsInChildren<Transform>(true,transforms);

			avatarMask.transformCount = transforms.Count;
			
			int index = 0;
			
			foreach(Transform transform in transforms)
			{
				avatarMask.SetTransformPath(index, AnimationUtility.CalculateTransformPath(transform,animator.transform));
				avatarMask.SetTransformActive(index, true);
				index++;
			}
			
			ScriptableObjectUtility.CreateAssetWithSavePanel<AvatarMask>(avatarMask,"Create Mask",animator.name+".mask","mask","Create a new Avatar Mask");
		}
 public static void UpdateTransformMask(AvatarMask mask, string[] refTransformsPath, string[] humanTransforms)
 {
   // ISSUE: object of a compiler-generated type is created
   // ISSUE: variable of a compiler-generated type
   AvatarMaskUtility.\u003CUpdateTransformMask\u003Ec__AnonStorey87 maskCAnonStorey87 = new AvatarMaskUtility.\u003CUpdateTransformMask\u003Ec__AnonStorey87();
   // ISSUE: reference to a compiler-generated field
   maskCAnonStorey87.refTransformsPath = refTransformsPath;
   // ISSUE: reference to a compiler-generated field
   mask.transformCount = maskCAnonStorey87.refTransformsPath.Length;
   // ISSUE: object of a compiler-generated type is created
   // ISSUE: variable of a compiler-generated type
   AvatarMaskUtility.\u003CUpdateTransformMask\u003Ec__AnonStorey88 maskCAnonStorey88 = new AvatarMaskUtility.\u003CUpdateTransformMask\u003Ec__AnonStorey88();
   // ISSUE: reference to a compiler-generated field
   maskCAnonStorey88.\u003C\u003Ef__ref\u0024135 = maskCAnonStorey87;
   // ISSUE: reference to a compiler-generated field
   // ISSUE: reference to a compiler-generated field
   // ISSUE: reference to a compiler-generated field
   // ISSUE: reference to a compiler-generated field
   // ISSUE: reference to a compiler-generated field
   for (maskCAnonStorey88.i = 0; maskCAnonStorey88.i < maskCAnonStorey87.refTransformsPath.Length; maskCAnonStorey88.i = maskCAnonStorey88.i + 1)
   {
     // ISSUE: reference to a compiler-generated field
     // ISSUE: reference to a compiler-generated field
     // ISSUE: reference to a compiler-generated field
     mask.SetTransformPath(maskCAnonStorey88.i, maskCAnonStorey87.refTransformsPath[maskCAnonStorey88.i]);
     // ISSUE: reference to a compiler-generated method
     bool flag = humanTransforms == null || ArrayUtility.FindIndex<string>(humanTransforms, new Predicate<string>(maskCAnonStorey88.\u003C\u003Em__149)) != -1;
     // ISSUE: reference to a compiler-generated field
     mask.SetTransformActive(maskCAnonStorey88.i, flag);
   }
 }
		public static void SetActiveHumanTransforms(AvatarMask mask, string[] humanTransforms)
		{
			for (int i = 0; i < mask.transformCount; i++)
			{
				string path = mask.GetTransformPath(i);
				if (ArrayUtility.FindIndex<string>(humanTransforms, (string s) => path == s) != -1)
				{
					mask.SetTransformActive(i, true);
				}
			}
		}
		public static void UpdateTransformMask(AvatarMask mask, string[] refTransformsPath, string[] humanTransforms)
		{
			AvatarMaskUtility.<UpdateTransformMask>c__AnonStorey69 <UpdateTransformMask>c__AnonStorey = new AvatarMaskUtility.<UpdateTransformMask>c__AnonStorey69();
			<UpdateTransformMask>c__AnonStorey.refTransformsPath = refTransformsPath;
			mask.transformCount = <UpdateTransformMask>c__AnonStorey.refTransformsPath.Length;
			int i;
			for (i = 0; i < <UpdateTransformMask>c__AnonStorey.refTransformsPath.Length; i++)
			{
				mask.SetTransformPath(i, <UpdateTransformMask>c__AnonStorey.refTransformsPath[i]);
				bool value = humanTransforms == null || ArrayUtility.FindIndex<string>(humanTransforms, (string s) => <UpdateTransformMask>c__AnonStorey.refTransformsPath[i] == s) != -1;
				mask.SetTransformActive(i, value);
			}
		}
 public void ConfigureMaskFromClip(ref AvatarMask mask)
 {
     mask.transformCount = this.m_TransformMask.Length;
     for (int i = 0; i < mask.transformCount; i++)
     {
         mask.SetTransformPath(i, this.m_TransformMask[i].path);
         mask.SetTransformActive(i, this.m_TransformMask[i].weight > 0f);
     }
     for (int j = 0; j < this.m_BodyMask.Length; j++)
     {
         mask.SetHumanoidBodyPartActive((AvatarMaskBodyPart) j, this.m_BodyMask[j] != 0);
     }
 }
 public void MaskFromClip(AvatarMask mask)
 {
     SerializedProperty property = this.Get("bodyMask");
     if ((property != null) && property.isArray)
     {
         for (AvatarMaskBodyPart part = AvatarMaskBodyPart.Root; part < AvatarMaskBodyPart.LastBodyPart; part += 1)
         {
             mask.SetHumanoidBodyPartActive(part, property.GetArrayElementAtIndex((int) part).intValue != 0);
         }
     }
     SerializedProperty property2 = this.Get("transformMask");
     if ((property2 != null) && property2.isArray)
     {
         if ((property2.arraySize > 0) && (mask.transformCount != property2.arraySize))
         {
             mask.transformCount = property2.arraySize;
         }
         int arraySize = property2.arraySize;
         if (arraySize != 0)
         {
             SerializedProperty arrayElementAtIndex = property2.GetArrayElementAtIndex(0);
             for (int i = 0; i < arraySize; i++)
             {
                 SerializedProperty property4 = arrayElementAtIndex.FindPropertyRelative("m_Path");
                 SerializedProperty property5 = arrayElementAtIndex.FindPropertyRelative("m_Weight");
                 mask.SetTransformPath(i, property4.stringValue);
                 mask.SetTransformActive(i, property5.floatValue > 0.5);
                 arrayElementAtIndex.Next(false);
             }
         }
     }
 }
예제 #7
0
 public static void builAvatarMask(GameObject gameObject, SpineData spineData, Animator animator, string directory, string name)
 {
     Avatar avatar = AvatarBuilder.BuildGenericAvatar(gameObject,"");
     animator.avatar = avatar;
     AvatarMask avatarMask = new AvatarMask();
     string[] transofrmPaths = getTransformPaths(gameObject, spineData);
     avatarMask.transformCount = transofrmPaths.Length;
     for (int i=0; i< transofrmPaths.Length; i++){
         avatarMask.SetTransformPath(i, transofrmPaths[i]);
         avatarMask.SetTransformActive(i, true);
     }
     createFolderIfNoExists(directory, ANIMATION_FOLDER);
     AssetDatabase.CreateAsset(avatar    , directory + "/" + ANIMATION_FOLDER + "/" + name + ".anim.asset");
     AssetDatabase.CreateAsset(avatarMask, directory + "/" + ANIMATION_FOLDER + "/" + name + ".mask.asset");
 }
 public void MaskFromClip(AvatarMask mask)
 {
   SerializedProperty serializedProperty1 = this.Get("bodyMask");
   if (serializedProperty1 != null && serializedProperty1.isArray)
   {
     for (AvatarMaskBodyPart index = AvatarMaskBodyPart.Root; index < AvatarMaskBodyPart.LastBodyPart; ++index)
       mask.SetHumanoidBodyPartActive(index, serializedProperty1.GetArrayElementAtIndex((int) index).intValue != 0);
   }
   SerializedProperty serializedProperty2 = this.Get("transformMask");
   if (serializedProperty2 == null || !serializedProperty2.isArray)
     return;
   if (serializedProperty2.arraySize > 0 && mask.transformCount != serializedProperty2.arraySize)
     mask.transformCount = serializedProperty2.arraySize;
   int arraySize = serializedProperty2.arraySize;
   for (int index = 0; index < arraySize; ++index)
   {
     SerializedProperty propertyRelative1 = serializedProperty2.GetArrayElementAtIndex(index).FindPropertyRelative("m_Path");
     SerializedProperty propertyRelative2 = serializedProperty2.GetArrayElementAtIndex(index).FindPropertyRelative("m_Weight");
     mask.SetTransformPath(index, propertyRelative1.stringValue);
     mask.SetTransformActive(index, (double) propertyRelative2.floatValue > 0.5);
   }
 }
		private void CheckChildren(AvatarMask mask, int index, bool value)
		{
			foreach (int current in this.m_NodeInfos[index].m_ChildIndices)
			{
				if (this.m_NodeInfos[current].m_Enabled)
				{
					mask.SetTransformActive(current, value);
				}
				this.CheckChildren(mask, current, value);
			}
		}
 public void MaskFromClip(AvatarMask mask)
 {
     SerializedProperty property = this.Get("bodyMask");
     if ((property != null) && property.isArray)
     {
         for (int i = 0; i < mask.humanoidBodyPartCount; i++)
         {
             mask.SetHumanoidBodyPartActive(i, property.GetArrayElementAtIndex(i).intValue != 0);
         }
     }
     SerializedProperty property2 = this.Get("transformMask");
     if ((property2 != null) && property2.isArray)
     {
         if ((property2.arraySize > 0) && (mask.transformCount != property2.arraySize))
         {
             mask.transformCount = property2.arraySize;
         }
         int arraySize = property2.arraySize;
         for (int j = 0; j < arraySize; j++)
         {
             SerializedProperty property3 = property2.GetArrayElementAtIndex(j).FindPropertyRelative("m_Path");
             SerializedProperty property4 = property2.GetArrayElementAtIndex(j).FindPropertyRelative("m_Weight");
             mask.SetTransformPath(j, property3.stringValue);
             mask.SetTransformActive(j, property4.floatValue > 0.5);
         }
     }
 }
 public static void SetActiveHumanTransforms(AvatarMask mask, string[] humanTransforms)
 {
   for (int index = 0; index < mask.transformCount; ++index)
   {
     // ISSUE: object of a compiler-generated type is created
     // ISSUE: reference to a compiler-generated method
     if (ArrayUtility.FindIndex<string>(humanTransforms, new Predicate<string>(new AvatarMaskUtility.\u003CSetActiveHumanTransforms\u003Ec__AnonStorey8B() { path = mask.GetTransformPath(index) }.\u003C\u003Em__14B)) != -1)
       mask.SetTransformActive(index, true);
   }
 }