Objects with transmission not showing objects behind

So, I setup a tinted glas material using the transmission parameter available in gltf 2.0:

I also gave the material a little metallicity (0.38) to make it more reflective, while it’s transmission is 1.0.
(The screenshot uses a simple three.js scene with one mesh for the dragon and a flat THREE.PlaneGeometry behind it. The object behind shines through nicely).

Now when I put together a model , using different materials, (glasses in this case), I can not see the objects behind the thin glasses anymore:

The second screenshot is also a Three.js scene, with the same material for the lenses.

Here’s the gltf in case you are interested:
metallpanto.gltf (3.3 MB)

Try something like material.depthTest=false or material.depthWrite=false or renderOrder=1; renderOrder=-1

There’s a complex mix of transmission, alpha blending (.transparent = true), and opaque materials here, which you probably don’t want. Note that transmission only shows opaque surfaces behind it. Transmissive and transparent surfaces are not visible behind a transmissive surface.

Also – it’s usually best to have .transparent = false on your transmissive materials, to keep metalness at 0, and to decrease roughness instead if you prefer crisper reflections.

1 Like

it’s not possible. but you can use this: MeshTransmissionMaterial: more realistic glas/epoxy/gelatin

it looks a thousand times better, is otherwise based on MPM with the same props, and doesn’t have that problem as it “sees” all. and it’s faster, too.

there is a vanilla material in the post, though, sadly, it reverts back to the problem as it can’t see other transmissive/transparent objects. but the code that makes it support that is very little, you can quickly add it from the react material. it just can’t be a self contained single class no more because it needs some setup.

ps you can see it working here:

the bunny and the sphere have meshtransmissionmaterial and “see” one another, but they also see their own shadows, which is a transparent plane. MPM wouldn’t be able to do that as well.

2 Likes

Hi, trying to achieve the same effect here, trying to be able to see the text and the red plane trough the transmissionMat, and the transmission material being hidden by the green one.
Seems like the transmission use a cube camera to apply the reflections or something like this, dont really understand the abstraction behind the process and to be honest, I feel stuck with this one.