From 85a972922a711eb00c03372e58b255e4fec5be83 Mon Sep 17 00:00:00 2001 From: Harald Csaszar Date: Tue, 21 Feb 2023 14:02:00 +0100 Subject: [PATCH] [unity] Fixed SkeletonutilityBone `zPosition` property having no effect. Closes #2255. --- .../Editor/Components/SkeletonUtilityBoneInspector.cs | 6 ++++-- .../Components/SkeletonUtility/SkeletonUtilityBone.cs | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) 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()) {