diff --git a/spine-tk2d/Code/tk2dSpineSkeleton.cs b/spine-tk2d/Code/tk2dSpineSkeleton.cs index 82983b5a9..823d3eccd 100644 --- a/spine-tk2d/Code/tk2dSpineSkeleton.cs +++ b/spine-tk2d/Code/tk2dSpineSkeleton.cs @@ -131,11 +131,24 @@ public class tk2dSpineSkeleton : MonoBehaviour, tk2dRuntime.ISpriteCollectionFor } } + mesh.Clear(); + mesh.vertices = vertices; mesh.colors = colors; mesh.uv = uvs; mesh.triangles = triangles; - mesh.RecalculateNormals(); + + 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]; }