The three Poly Pizza models (betta, blue_tang, flower_horn) rendered giant (filling the tank) because each GLB had two 100x-scaled nodes (Fish_Armature bone-parent + the skinned mesh node). three.js binds skinned meshes with an identity bindMatrix and uses the GLB's inverseBindMatrices verbatim, so the 100x node scales inflated the rendered skinned extent ~100x relative to what Box3.setFromObject reports. GLTFish's 'scale = targetLength / longest' therefore scaled ~100x too big. Fix: pure GLB JSON-chunk edit (BIN chunk + all 6 animations preserved) setting the bone-parent node scale to S=1/base and the mesh node scale to 1, so Box3 == rendered extent == 1.0 and targetLength directly controls fish size, matching the working models.
142 KiB
142 KiB