Browse Source

[unity] Fix SkeletonUtility not following IK bone positions.

pharan 6 years ago
parent
commit
e63a75e9e9
1 changed files with 15 additions and 15 deletions
  1. 15 15
      spine-unity/Assets/spine-unity/SkeletonUtility/SkeletonUtilityBone.cs

+ 15 - 15
spine-unity/Assets/spine-unity/SkeletonUtility/SkeletonUtilityBone.cs

@@ -143,25 +143,25 @@ namespace Spine.Unity {
 					case UpdatePhase.World:
 					case UpdatePhase.World:
 					case UpdatePhase.Complete:
 					case UpdatePhase.Complete:
 						// Use Applied transform values (ax, ay, AppliedRotation, ascale) if world values were modified by constraints.
 						// Use Applied transform values (ax, ay, AppliedRotation, ascale) if world values were modified by constraints.
-						if (!bone.appliedValid) {
+						if (!bone.appliedValid)
 							bone.UpdateAppliedTransform();
 							bone.UpdateAppliedTransform();
-							if (position)
-								thisTransform.localPosition = new Vector3(bone.ax, bone.ay, 0);
-
-							if (rotation) {
-								if (bone.data.transformMode.InheritsRotation()) {
-									thisTransform.localRotation = Quaternion.Euler(0, 0, bone.AppliedRotation);
-								} else {
-									Vector3 euler = skeletonTransform.rotation.eulerAngles;
-									thisTransform.rotation = Quaternion.Euler(euler.x, euler.y, euler.z + (bone.WorldRotationX * skeletonFlipRotation));
-								}
-							}
 
 
-							if (scale) {
-								thisTransform.localScale = new Vector3(bone.ascaleX, bone.ascaleY, 1f);
-								incompatibleTransformMode = BoneTransformModeIncompatible(bone);
+						if (position)
+							thisTransform.localPosition = new Vector3(bone.ax, bone.ay, 0);
+
+						if (rotation) {
+							if (bone.data.transformMode.InheritsRotation()) {
+								thisTransform.localRotation = Quaternion.Euler(0, 0, bone.AppliedRotation);
+							} else {
+								Vector3 euler = skeletonTransform.rotation.eulerAngles;
+								thisTransform.rotation = Quaternion.Euler(euler.x, euler.y, euler.z + (bone.WorldRotationX * skeletonFlipRotation));
 							}
 							}
 						}
 						}
+
+						if (scale) {
+							thisTransform.localScale = new Vector3(bone.ascaleX, bone.ascaleY, 1f);
+							incompatibleTransformMode = BoneTransformModeIncompatible(bone);
+						}
 						break;
 						break;
 				}
 				}