Disappearing geometry at certain angles

Hi there,

I am currently experiencing an issue when exporting from blender and bringing it into three.js. I have a character model with hair that is using alpha hash (I tried alpha blend and clip as well but doesn’t seem to work). The problem that I’m facing is that the hair of the mesh (using hair cards) disappears when I’m looking straight on but renders perfectly fine from above and behind. Here is a demonstration of what I mean. Thanks in advance for any help!

df4105e32c7d865fecb9f629e8cfce17

This is a common issue. The problem is that “frustum culling” relies on knowing the bounding box of a mesh…

But with animated meshes… it cant know beforehand what shape the mesh will take, after the current pose has been applied so the bounding box is usually wrong.

The easy fix is to do: skinnedMesh.frustumCulled = false

Thank you for the reply, I’ll try that out!

1 Like

In recent three.js version the bounding volumes for animated meshes should be more correct than in earlier releases.

If you share the animated asset as a glb file, I can have a look if things don’t work as expected.

That’s interesting to me… Are bounding boxes being recomputed dynamically now somehow?

There are bounding volumes on SkinnedMesh level now which honor the current bone transformation. But for performance reasons they are not compute per frame by default. However, when you call skinnedMesh.computeBoundingSphere() and/or skinnedMesh.computeBoundingBox() per frame (after updating the mixer), skinnedMesh.boundingSphere and or skinnedMesh.boundingBox actually enclose the current animated state of the model.

3 Likes