Models pop out of view when zooming closer into an imported GLTF scene

To reproduce:
Load this model: ribbon.glb - Google Drive
In the gltf viewer:

And zoom close to the characters. You will see them disappear as you try to get closer.

This behavior doesn’t happen in the:

You can see the structure of the GLTF file in the above sandbox. It is exported from blender 2.92 and contains the following warning in the gltf validator: NODE_SKINNED_MESH_NON_ROOT

Since the main difference between the characters and the rest of the objects is that they are animated, I assume that there is something that is glitching them out.

Though I don’t know why proximity would have anything to do with it.

Frustum culling can cause problems with THREE.SkinnedMesh instances (see SkinnedMesh: Incorrect bounding box and culling · Issue #14499 · mrdoob/three.js · GitHub). The easiest way to work around this is to disable it: [HELP] 3D model completely disappears when the camera gets close (). If performance becomes an issue with culling disabled on these objects, you can manually override their bounding volumes to a safe size.

Thanks for your reply. I see that this is an open bug in the threejs repo, I guess my keywords didn’t quite line up.

I am going to have a few hundred of these characters in this format, so it seems ill need to manually add them to the scene anyway. (In order to also avoid the needless skeleton duplication that is happening in there)

Will override their bounding volume when loading.

Do you know if changing the parent/child relationship between the model and armature will fix how the bounding box is calculated?

It could, yes. Might help to display the location of the mesh.geometry.boundingBox somehow and see how far off it is. In particularly bad cases the skeleton bind matrix can have a 100x scaling factor, causing the mesh bounding box to be much too small.