From 40f5e2723d842225e8c7bb1fa288f60eda6792f5 Mon Sep 17 00:00:00 2001 From: Harald Csaszar Date: Thu, 13 Jan 2022 12:24:26 +0100 Subject: [PATCH] [unity] Fixed BoneFollower components change Transform scale regardless of settings. Closes #2018. --- .../Components/Following/BoneFollower.cs | 19 ++++++++++--------- .../Following/BoneFollowerGraphic.cs | 19 ++++++++++--------- 2 files changed, 20 insertions(+), 18 deletions(-) diff --git a/spine-unity/Assets/Spine/Runtime/spine-unity/Components/Following/BoneFollower.cs b/spine-unity/Assets/Spine/Runtime/spine-unity/Components/Following/BoneFollower.cs index 53b23f869..1e089c18b 100644 --- a/spine-unity/Assets/Spine/Runtime/spine-unity/Components/Following/BoneFollower.cs +++ b/spine-unity/Assets/Spine/Runtime/spine-unity/Components/Following/BoneFollower.cs @@ -209,15 +209,16 @@ namespace Spine.Unity { } Bone parentBone = bone.Parent; - Vector3 localScale = new Vector3(1f, 1f, 1f); - if (followParentWorldScale && parentBone != null) - localScale = new Vector3(parentBone.WorldScaleX, parentBone.WorldScaleY, 1f); - if (followLocalScale) - localScale.Scale(new Vector3(bone.ScaleX, bone.ScaleY, 1f)); - if (followSkeletonFlip) - localScale.y *= Mathf.Sign(bone.Skeleton.ScaleX * bone.Skeleton.ScaleY) * additionalFlipScale; - thisTransform.localScale = localScale; + if (followParentWorldScale || followLocalScale || followSkeletonFlip) { + Vector3 localScale = new Vector3(1f, 1f, 1f); + if (followParentWorldScale && parentBone != null) + localScale = new Vector3(parentBone.WorldScaleX, parentBone.WorldScaleY, 1f); + if (followLocalScale) + localScale.Scale(new Vector3(bone.ScaleX, bone.ScaleY, 1f)); + if (followSkeletonFlip) + localScale.y *= Mathf.Sign(bone.Skeleton.ScaleX * bone.Skeleton.ScaleY) * additionalFlipScale; + thisTransform.localScale = localScale; + } } } - } diff --git a/spine-unity/Assets/Spine/Runtime/spine-unity/Components/Following/BoneFollowerGraphic.cs b/spine-unity/Assets/Spine/Runtime/spine-unity/Components/Following/BoneFollowerGraphic.cs index daa217919..bd59c651e 100644 --- a/spine-unity/Assets/Spine/Runtime/spine-unity/Components/Following/BoneFollowerGraphic.cs +++ b/spine-unity/Assets/Spine/Runtime/spine-unity/Components/Following/BoneFollowerGraphic.cs @@ -188,15 +188,16 @@ namespace Spine.Unity { } Bone parentBone = bone.Parent; - Vector3 localScale = new Vector3(1f, 1f, 1f); - if (followParentWorldScale && parentBone != null) - localScale = new Vector3(parentBone.WorldScaleX, parentBone.WorldScaleY, 1f); - if (followLocalScale) - localScale.Scale(new Vector3(bone.ScaleX, bone.ScaleY, 1f)); - if (followSkeletonFlip) - localScale.y *= Mathf.Sign(bone.Skeleton.ScaleX * bone.Skeleton.ScaleY) * additionalFlipScale; - thisTransform.localScale = localScale; + if (followParentWorldScale || followLocalScale || followSkeletonFlip) { + Vector3 localScale = new Vector3(1f, 1f, 1f); + if (followParentWorldScale && parentBone != null) + localScale = new Vector3(parentBone.WorldScaleX, parentBone.WorldScaleY, 1f); + if (followLocalScale) + localScale.Scale(new Vector3(bone.ScaleX, bone.ScaleY, 1f)); + if (followSkeletonFlip) + localScale.y *= Mathf.Sign(bone.Skeleton.ScaleX * bone.Skeleton.ScaleY) * additionalFlipScale; + thisTransform.localScale = localScale; + } } - } }