From a73d0bc40d7f7c9db0a79813c3adadfc27de6939 Mon Sep 17 00:00:00 2001 From: Jason Knight <78934401+jasonwinterpixel@users.noreply.github.com> Date: Tue, 30 Apr 2024 02:41:07 -0600 Subject: [PATCH 1/2] Dont do init transform if you dont need to. (#2495) --- spine-godot/spine_godot/SpineBoneNode.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/spine-godot/spine_godot/SpineBoneNode.cpp b/spine-godot/spine_godot/SpineBoneNode.cpp index 9e071189d..f9911a150 100644 --- a/spine-godot/spine_godot/SpineBoneNode.cpp +++ b/spine-godot/spine_godot/SpineBoneNode.cpp @@ -232,9 +232,11 @@ SpineConstant::BoneMode SpineBoneNode::get_bone_mode() { } void SpineBoneNode::set_bone_mode(SpineConstant::BoneMode _bone_mode) { - bone_mode = _bone_mode; - SpineSprite *sprite = find_parent_sprite(); - init_transform(sprite); + if (bone_mode != _bone_mode) { + bone_mode = _bone_mode; + SpineSprite *sprite = find_parent_sprite(); + init_transform(sprite); + } } void SpineBoneNode::set_debug_thickness(float _thickness) { From 24074454d15259e3f75742bc288339cef2546c54 Mon Sep 17 00:00:00 2001 From: Harald Csaszar Date: Mon, 6 May 2024 19:40:19 +0200 Subject: [PATCH 2/2] [unity] Fixed UpdateWhenInvisible being incorrect when using SkeletonRenderSeparator. See #2519. --- .../Spine/Runtime/spine-unity/Components/SkeletonRenderer.cs | 4 +++- spine-unity/Assets/Spine/package.json | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/spine-unity/Assets/Spine/Runtime/spine-unity/Components/SkeletonRenderer.cs b/spine-unity/Assets/Spine/Runtime/spine-unity/Components/SkeletonRenderer.cs index 7912a6d5f..30f5013e9 100644 --- a/spine-unity/Assets/Spine/Runtime/spine-unity/Components/SkeletonRenderer.cs +++ b/spine-unity/Assets/Spine/Runtime/spine-unity/Components/SkeletonRenderer.cs @@ -239,6 +239,7 @@ namespace Spine.Unity { Initialize(false); if (meshRenderer) meshRenderer.enabled = false; + updateMode = UpdateMode.FullUpdate; } } remove { @@ -331,7 +332,8 @@ namespace Spine.Unity { public virtual void Awake () { Initialize(false); - updateMode = updateWhenInvisible; + if (generateMeshOverride == null || !disableRenderingOnOverride) + updateMode = updateWhenInvisible; } #if UNITY_EDITOR && CONFIGURABLE_ENTER_PLAY_MODE diff --git a/spine-unity/Assets/Spine/package.json b/spine-unity/Assets/Spine/package.json index b4d7cfaf4..8c52f4dce 100644 --- a/spine-unity/Assets/Spine/package.json +++ b/spine-unity/Assets/Spine/package.json @@ -2,7 +2,7 @@ "name": "com.esotericsoftware.spine.spine-unity", "displayName": "spine-unity Runtime", "description": "This plugin provides the spine-unity runtime core.", - "version": "4.1.41", + "version": "4.1.42", "unity": "2018.3", "author": { "name": "Esoteric Software",