diff --git a/spine-unity/Assets/Spine/Editor/spine-unity/Editor/Components/SkeletonUtilityBoneInspector.cs b/spine-unity/Assets/Spine/Editor/spine-unity/Editor/Components/SkeletonUtilityBoneInspector.cs index e5bf3bd2b..c364f3fe5 100644 --- a/spine-unity/Assets/Spine/Editor/spine-unity/Editor/Components/SkeletonUtilityBoneInspector.cs +++ b/spine-unity/Assets/Spine/Editor/spine-unity/Editor/Components/SkeletonUtilityBoneInspector.cs @@ -158,8 +158,10 @@ namespace Spine.Unity.Editor { } } - EditorGUILayout.PropertyField(zPosition); - EditorGUILayout.PropertyField(position); + bool isOverrideMode = mode.enumValueIndex == 1; + using (new EditorGUI.DisabledGroupScope(isOverrideMode)) + EditorGUILayout.PropertyField(zPosition); + EditorGUILayout.PropertyField(position, new GUIContent("XY Position")); EditorGUILayout.PropertyField(rotation); EditorGUILayout.PropertyField(scale); diff --git a/spine-unity/Assets/Spine/Runtime/spine-unity/Components/SkeletonUtility/SkeletonUtilityBone.cs b/spine-unity/Assets/Spine/Runtime/spine-unity/Components/SkeletonUtility/SkeletonUtilityBone.cs index 0df421ca7..7a143e520 100644 --- a/spine-unity/Assets/Spine/Runtime/spine-unity/Components/SkeletonUtility/SkeletonUtilityBone.cs +++ b/spine-unity/Assets/Spine/Runtime/spine-unity/Components/SkeletonUtility/SkeletonUtilityBone.cs @@ -130,7 +130,8 @@ namespace Spine.Unity { switch (phase) { case UpdatePhase.Local: if (position) - thisTransform.localPosition = new Vector3(bone.X * positionScale, bone.Y * positionScale, 0); + thisTransform.localPosition = new Vector3(bone.X * positionScale, bone.Y * positionScale, + zPosition ? 0 : thisTransform.localPosition.z); if (rotation) { if (bone.Data.TransformMode.InheritsRotation()) { @@ -149,7 +150,8 @@ namespace Spine.Unity { case UpdatePhase.World: case UpdatePhase.Complete: if (position) - thisTransform.localPosition = new Vector3(bone.AX * positionScale, bone.AY * positionScale, 0); + thisTransform.localPosition = new Vector3(bone.AX * positionScale, bone.AY * positionScale, + zPosition ? 0 : thisTransform.localPosition.z); if (rotation) { if (bone.Data.TransformMode.InheritsRotation()) {