Emission under rubber button

Hi. I am trying to generate a rubber button that when pushed a light will turn on within it.
Similarly to some electronics in the market (light behind the interface).

I manage to create a fairly ok rubber button with some sss in the principle shader. I added a plane inside the button and crank up the emissions on that plane. Then I realized that in order to see the light I needed to add some transmission also in the sss material. I added as less as possible since I like the look of the initial sss rubber button.

There is something funny that the emission is noticeable at certain angles only. On top of that It does not look super convincing. So two questions:

  1. Why the emission acts differently according to the angle of the camera
  2. How to portray a more convincing effect. Maybe with bloom in photoshop? I understand that cycles does not a bloom node, but there is a possibility to create it in the composition tab.

Thank you

I think the emission plane would need to be outside the button object to work. The SSS shader is a surface shader and may not know about light being emitted from inside the object. Try moving the emission plane to outside the button object to see if that helps.

The other option might be to use a full volumetric SSS shader like the one I created here. you can get it to look very similar to the SSS shader, with the advantage that it’s fully volumetric and as such should be able to handle emission from within (it is likely to be a bit slower to render however - but that may not be an issue if the button is relatively small in your scene)

I made up a quick example…using 2 different ways…in eeVee
Blue Button has SSS as well as a translucent … it is the Bloom as well as setting it to a medium contrast, a very bright background tends to wash out the effect .
added in a mix shader, labeled On-Off …

White Button is just a simple emission shader with RBG node to control color…

Emission does tend to point in one direction only…just the way it is…

Thank you for the trayouts. I am looking for a button as the one I posted. It is a rubber button with an emission within the button. Two different meshes. Iam still not understanding why it works only at certain angles. Does the way of emitting at 90 degrees has to do with this?

A real world example of what you want would be useful. Dont bother with a real light, or SSS, or transmission. I’d just use a single image texture to to the Emission.

You can probably do the exact same thing with a box gradient node.

1 Like

This sound promising. I will try to do it with my scene. The only difference is I would like my button to be emitting only from the bottom surface. So if we talk your example the image map should be place only at the bottom face. I am guessing it should work regardless of that.

Thank you

I tried your approach. Same result. I added a map in the bottom face of the mesh .

The problem is I do need to have an sss since the button when the light is not on…will be rubber. So your material approach is good when it comes to the principle shader, but how the button looks without light is important.

You can see here:

Although I want a more defined boundary and more rubberish button .

Hey :slight_smile:
Have you found a solution ? I’m running into the same issue while modeling a Novation LaunchKey Mini.
I’d be glad to hear your solution if you found one

How about something like this:

There is a red and a green point light just below the surface of the object.

I stopped with that project. But @moony seems to be on the right track