PBR Subsurface unexpected (?) behaviour

I have been playing with the subsurface setting in PBR, because I thought it would allow me to use it in a specific project, but either I am using it wrong (most likely) or it is not working properly.

Describing what I am attempting: I want to render a translucent material which is yellow but that when has a light behind (inside) glows a bit more orange.

I thought I would give the base color a yellow, and the subsurface’s scattering color an orange and it would work. After struggling with the other settings, I settled with amount of 0.5 and a scattering radius of 3. The material thickness should be 0.3mm.

For testing, I modelled a few cubes. In one direction: a row with single surfaces; a row with a surface thickness of 0.3mm; and a row as solid offset of 0.3mm. In the other direction: a light inside the cube; a light inside a non-shadow-casting emissive-material sphere inside the cube; a non-shadow-casting emissive-material sphere inside the cube; nothing inside the cube.

Because the yellow/orange was not giving the expected results and because the colours were too similar, I made a base:yellow and scattering:Purple version. The expectation was that the cubes were yellow with no lights inside and purple(ish) with the lights.

The results are below and show that the purple comes through in all cubes, but the yellow is not clearly visible (probably dilutes the purple). One image is with skylight on and the other isn’t.

Below you can see the yellow/orange version, where the cubes with the light are the “yellower” and the non-lit are more orange (the opposite of what I expected). Surprisingly (to me), the single surface cubes are different than the non-lit surface-thick cubes. I understand that they do not “scatter” without thickness, but I expected that they would be similar to the non-lit cubes.

Here are the settings:

On and aside note, @nathanletwory the raytracing is now taking around 9 minutes for 100 passes on a 900×600. I still use the -ViewCaptureToFile but sometimes (I think when I do it too soon after turning the viewport into raytrace) the image comes as the one below - this was an attempt at the second image from this post (the yellow/purple without skylight).

Thanks, N

It’ll be best if you attached your test scene. I can have a look when I am back at work on Monday.

Here it goes:
210827 SelRhinoForum.3dm (1.8 MB)

If you want to use surbsurface scattering successfully there are a couple of things to keep in mind:

  1. Subsurface scattering radius is in model units
  2. Subsurface scattering works best if its color is close to what you have in base-color
  3. The higher the amount the more the subsurface scattering color will replace the base color.

On a white object setting subsurface scattering amount to 1.0 you’ll see that where geometry is ‘thin’ enough the base color is overridden by the subsurface scattering color. In your example the pink. Also with the radius set high enough you’ll see the same.

You have radius set to 3, and essentially that means 3mm. Note that where you have set 0.3 thickness, remember that means 0.3mm, not 3mm. So the thin geometry is a tenth of what you probably meant. So set the radius to 0.3 or somewhere close.

With subsurface scattering the translucency effect will be mostly for cases where light comes from behind the model, where it becomes obvious.

Here a render at ‘daylight’

and here one at ‘night’

To get good emission for objects with the Emission material you have to take into account the size of your object in units. Your oblong object is quite big, so you need to bump up the emission intensity as well. I didn’t render out examples for that, but try and see what I mean.

Thank you for your reply, Natham @nathanletwory

I did try the lower scat amount and the 0.3mm radius before. I found that with sunlight ON the difference between on and off (light inside) did not seem noticeable enough.
I made a series of test always with strange results and especially when I achieved a half-good result, I could not replicate it in other files.

Then I found out that somehow in the render settings I had the gamma adjustment to 2.2. Which explains some other issues I was having with lighting. I can’t remember changing it. Do you have any idea how this could have changed? It costed me many hours.

I’ll have to start again I guess. N

Gamma enabled and set to 2.2 is the default.

Ok now I am confused.
Could it be that files from previous Rhino versions have Gamma set to 1?
I was comparing the settings between some files where the results were very different, and it seemed reasonable to get the settings from older files.
One of the things that was(n’t) happening was to have shadows when the sun was on. The only apparent differece was the gamma and when I dropped it to 1, the sun shadows were there (not particularly good, but I thought I had to work on other settings for that). Any ideas why the sun shados are not appearing?
I’ll revert back to Gamma 2.2.

In the meantime, I have noticed another strange thing. I added a light texture to the scattering radius. Instead of darkening the translucent effect, it actually increased it.
The unexpected thing is that when looking at the material settings on the Materials panel it looks like this, so Radius 0.3 and Texture scale 1.

When I look at the material settings on the Layer Material it shows the Radius as 0.0003 and the Texture scale as 0.0010.

This is confusing because it does not happen with all the settings.