'missing' surfaces on some models with gltf viewer

I’m using this viewer Don Mccurdy
And I see some models with ‘missing’ surfaces.

Model 1: Original format in 3ds max, export to fbx, gltf export in max doesn’t work.
fbx download: https://drive.google.com/open?id=18w6fRVDSt9MTIBMzkeRnbkUlsuIDGHvC
mis2

Model 2: Original format in 3ds max. Left-3ds max direct gltf export. Right-export to fbx then gltf.
pte.FBX (492.4 KB)
mis

Correct max look.correct

What you’re seeing here is that surfaces are visible only from one side:

above:

17%20AM

below:

28%20AM

This is common, and there are options in tools like Blender and 3DS Max to make surfaces visible from both sides, but those options don’t always export with the model.

The easiest way to fix it is by modifying the model after load:

model.traverse((o) => {
  if (o.isMesh) o.material.side = THREE.DoubleSide;
});

You can also set that in Blender, but it’s a little trickier. See: https://docs.blender.org/manual/en/dev/addons/io_gltf2.html#double-sided.

4 Likes

I’d also recommend filing a bug on the 3DS Max glTF exporter (the one by the BabylonJS devs?) if it’s giving you problems other than the missing surfaces.

Thanks, that should help. So Model 1 the station is having the same problem I guess. Maybe fix normals should temp fix it.