Mesh looks transparent depending on the orientation of the camera

I’m loading a mesh from a .fbx file, using FBXLoader.
Some parts of this object are not rendered depending on the orientation of the camera.
The basic example would be a surface. If you look at it from one side, you can see it, but if you look from the other side, it disappears / part of it disappears. This is unwanted, it should not have any transparency and be rendered whole from any direction. I cannot show directly my use case due to confidentiality matters.
The same .fbx file imported in Blender is rendered correctly from every orientation.
Once loaded, the material of the mesh is a MeshPhongMaterial. It’s transparent setting is false.
Anyone has an idea of what could cause this?

Note : I suspect that the mesh is composed of two layers very close to each other, because it’s representing an object with a thin thickness. These fbx files are generated programatically from an external source so I can’t really fix / study them myself. Could that be the source of the problem?
I’m not experienced with 3D too much so I don’t have the skills to debug this rendering effect myself.

I don’t know about fbx loader, but does the object look like this object with parts missing? Glitch

If so it might just be you need to set the material side to THREE.DoubleSide; when you import the object. Go here: three.js docs and CTRL-F ‘side’.

If that’s not it, don’t worry much smarter people than me will come along soon and help you i’m sure :slight_smile:

2 Likes

Thanks for your advice! This looks very similar to what I’ve got, especially the glitch on the ceiling of that building.
Setting material.side to THREE.DoubleSide does fix it. You’ve hit the nail right on the head, and honestly you look like one of those “much smarter people” :smile:
Thanks a lot!

1 Like