diff --git a/spine-unity/Assets/spine-unity/Mesh Generation/SpineMesh.cs b/spine-unity/Assets/spine-unity/Mesh Generation/SpineMesh.cs index c85cdde3a..5a43436f4 100644 --- a/spine-unity/Assets/spine-unity/Mesh Generation/SpineMesh.cs +++ b/spine-unity/Assets/spine-unity/Mesh Generation/SpineMesh.cs @@ -1284,7 +1284,13 @@ namespace Spine.Unity { internal Material[] sharedMaterials = new Material[0]; public void Initialize () { - doubleBufferedMesh = new DoubleBuffered(); + if (doubleBufferedMesh != null) { + doubleBufferedMesh.GetNext().Clear(); + doubleBufferedMesh.GetNext().Clear(); + submeshMaterials.Clear(); + } else { + doubleBufferedMesh = new DoubleBuffered(); + } } public Material[] GetUpdatedSharedMaterialsArray () { @@ -1343,6 +1349,11 @@ namespace Spine.Unity { public Mesh mesh = SpineMesh.NewSkeletonMesh(); public SkeletonRendererInstruction instructionUsed = new SkeletonRendererInstruction(); + public void Clear () { + mesh.Clear(); + instructionUsed.Clear(); + } + public void Dispose () { if (mesh != null) { #if UNITY_EDITOR