From c14cef967f22240ae8cd627aa80a09c0bb68b87e Mon Sep 17 00:00:00 2001 From: Mario Zechner Date: Thu, 17 Mar 2022 00:07:46 +0100 Subject: [PATCH] [ts][threejs] Clipping not properly ended for all code paths. --- spine-ts/spine-threejs/src/SkeletonMesh.ts | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/spine-ts/spine-threejs/src/SkeletonMesh.ts b/spine-ts/spine-threejs/src/SkeletonMesh.ts index f004315bb..46927fd2e 100644 --- a/spine-ts/spine-threejs/src/SkeletonMesh.ts +++ b/spine-ts/spine-threejs/src/SkeletonMesh.ts @@ -173,7 +173,10 @@ export class SkeletonMesh extends THREE.Object3D { for (let i = 0, n = drawOrder.length; i < n; i++) { let vertexSize = clipper.isClipping() ? 2 : SkeletonMesh.VERTEX_SIZE; let slot = drawOrder[i]; - if (!slot.bone.active) continue; + if (!slot.bone.active) { + clipper.clipEndWithSlot(slot); + continue; + } let attachment = slot.getAttachment(); let attachmentColor: Color = null; let texture: ThreeJsTexture = null; @@ -290,8 +293,10 @@ export class SkeletonMesh extends THREE.Object3D { finalIndicesLength = triangles.length; } - if (finalVerticesLength == 0 || finalIndicesLength == 0) + if (finalVerticesLength == 0 || finalIndicesLength == 0) { + clipper.clipEndWithSlot(slot); continue; + } // Start new batch if this one can't hold vertices/indices if (!batch.canBatch(finalVerticesLength, finalIndicesLength)) {