A sort of transparent backlit plastic

Hello.

I’m trying to replicate a plastic that is backlit. I’m remodelling an old project (tetris lamp) but the plastic has always been a problem. It’s a tricky material for me. It’s not really transparent, it’s also quite smooth (but the light needs to be roughly transmitted). I’ve tried a fair few things but it’s mostly blind experimentation.

Here is the reference:

Here is my attempt:


nodes (turn off transmission for plastic object ray visibility):

I’ve tried many variations of this, changing the fac inputs (e.g. by layer weight, fresnel, shadow ray, pointiness, etc.) and changing colours of the glossy/refraction/transparent, volume density, etc. This seems to be the best so far, but the big problem is that the colour of the plastic changes how much light passes through. So for the red and green blocks it seems very difficult to get them bright enough whilst keeping the colour of the plastic. Ideally I’d like this to be consistent - in real life, these lamps all have the same LEDs in them and run at the same power (and the plastic is the same thickness). There could also be more light passing through - the blocks themselves look bright, but on the surface you can see there is hardly any reflection compared to in the reference image.

I previously tried just a principled shader with subsurface and some transmission, but this ended up looking very flat and the glossy edge highlights were missing (this has a slight world light added, and you can see the plastic edges are not picking it up):

I’ve attached a little test with a mockup mesh if anyone wants to have a look at the shader and point light setup in more detail. Any ideas?

BAtest.blend (1.1 MB)

This topic has some solutions that may help - the aim isn’t too dissimilar.

Ah, I didn’t find this one when looking.

I think your idea about applying a translucent shader on the inner surfaces is giving good results. Although I haven’t made a separate object, just applied this to the inside faces. It’s also rendering faster with fewer mix shader nodes. However, there does seem to be some fundamental issue with this depending on the colour of the plastic, where blue and green just don’t allow the same light to pass through compared to red, purple, yellow, and magenta.