Hi everyone,
I’m currently working on a pipeline where I load custom JSON data (mesh, bones, weights, animation) into Three.js and reconstruct a SkinnedMesh.
In Three.js, the model renders and animates correctly with no issues.
However, when I export the same mesh using GLTFExporter, the resulting .gltf file appears broken into pieces / jagged triangles (especially around the arms and torso).
What I’ve tried
- Applied LBS weight normalization
- Used geometry.normalizeNormals()
- Recomputed normals with geometry.computeVertexNormals()
- Verified bone hierarchy and skinIndex alignment with skeleton.bones order
Despite these attempts, the exported GLTF still shows the mesh broken apart.
Questions
- Does GLTFExporter require any specific preprocessing of weights or joints before exporting?
- Are there any mandatory attributes (like skinIndex type, bone ordering, or normalized weights) that must match for SkinnedMesh export to work properly?
- Has anyone experienced similar issues when exporting SkinnedMesh from custom JSON data?
Screenshots
-
[Rendered correctly in Three.js]
-
[Broken mesh after GLTF export in viewer]
Thanks in advance for any advice or pointers!

