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)) {