From a1570c960aa910392c2ec2b340a4132c6826b127 Mon Sep 17 00:00:00 2001 From: Dgizusse Date: Mon, 13 May 2013 17:36:12 -0400 Subject: [PATCH 1/3] - Clear the mesh before setting it up again to prevent an assert when showing/hiding a slot image. --- spine-tk2d/Code/tk2dSpineSkeleton.cs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/spine-tk2d/Code/tk2dSpineSkeleton.cs b/spine-tk2d/Code/tk2dSpineSkeleton.cs index 82983b5a9..ba41a3c90 100644 --- a/spine-tk2d/Code/tk2dSpineSkeleton.cs +++ b/spine-tk2d/Code/tk2dSpineSkeleton.cs @@ -131,6 +131,8 @@ public class tk2dSpineSkeleton : MonoBehaviour, tk2dRuntime.ISpriteCollectionFor } } + mesh.Clear(); + mesh.vertices = vertices; mesh.colors = colors; mesh.uv = uvs; From 0a24fc576f5d540ca4235e9ab0bf70ac5d7c7031 Mon Sep 17 00:00:00 2001 From: Dgizusse Date: Mon, 13 May 2013 19:04:31 -0400 Subject: [PATCH 2/3] - Recalculate normals only if required by the SpriteCollection. --- spine-tk2d/Code/tk2dSpineSkeleton.cs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/spine-tk2d/Code/tk2dSpineSkeleton.cs b/spine-tk2d/Code/tk2dSpineSkeleton.cs index ba41a3c90..b0fb8f4e5 100644 --- a/spine-tk2d/Code/tk2dSpineSkeleton.cs +++ b/spine-tk2d/Code/tk2dSpineSkeleton.cs @@ -137,7 +137,10 @@ public class tk2dSpineSkeleton : MonoBehaviour, tk2dRuntime.ISpriteCollectionFor mesh.colors = colors; mesh.uv = uvs; mesh.triangles = triangles; - mesh.RecalculateNormals(); + + if (skeletonDataAsset.sprites.normalGenerationMode != tk2dSpriteCollection.NormalGenerationMode.None) { + mesh.RecalculateNormals(); + } renderer.sharedMaterial = skeletonDataAsset.sprites.spriteCollection.inst.materials[0]; } From cd21837efb5369a25c615b15740049119b518152 Mon Sep 17 00:00:00 2001 From: Dgizusse Date: Mon, 13 May 2013 21:20:49 -0400 Subject: [PATCH 3/3] - Added Tangents generation if needed. --- spine-tk2d/Code/tk2dSpineSkeleton.cs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/spine-tk2d/Code/tk2dSpineSkeleton.cs b/spine-tk2d/Code/tk2dSpineSkeleton.cs index b0fb8f4e5..823d3eccd 100644 --- a/spine-tk2d/Code/tk2dSpineSkeleton.cs +++ b/spine-tk2d/Code/tk2dSpineSkeleton.cs @@ -140,6 +140,14 @@ public class tk2dSpineSkeleton : MonoBehaviour, tk2dRuntime.ISpriteCollectionFor if (skeletonDataAsset.sprites.normalGenerationMode != tk2dSpriteCollection.NormalGenerationMode.None) { mesh.RecalculateNormals(); + + if (skeletonDataAsset.sprites.normalGenerationMode == tk2dSpriteCollection.NormalGenerationMode.NormalsAndTangents) { + Vector4[] tangents = new Vector4[mesh.normals.Length]; + for (int t = 0; t < tangents.Length; ++t) { + tangents[t] = new Vector4(1, 0, 0, 1); + } + mesh.tangents = tangents; + } } renderer.sharedMaterial = skeletonDataAsset.sprites.spriteCollection.inst.materials[0];