Single scatter texture in blender

Hi.

I’m creating realistic skin material in blender using pixar method.

Somehow I need to render/bake single scatter texture in blender for brightening ears.
The problem is, I don’t know how to do it.
Does anybody know how to do it right?
It should look like this. Its a single scatter render I did in Maya.

Thanks.

I believe what you’re looking for is Subsurface Scattering, or SSS, which you can use with a Principled BSDF:
2022-07-15 09_41_34-Blender
Or directly with a Subsurface node:
2022-07-15 09_41_42-Blender

Not exactly. Im looking for a method in blender how to render/bake single scatter map. Its a simplified version of sss and usually used for brigtening dark regions in sss. Its an addition to regular sss material. In many render engines like Renderman, there is such option in a shader. But not in blender.

Welcome to BA.

I’ve never done this myself, but I bookmarked a video for baking a translucency map for simplified SSS, which might be what you are looking for, just under a different name: https://www.youtube.com/watch?v=tdMW5Y3uDQo

As I understand single scatter its a regular sss which scatters only one time inside a surface. Thats why its so fast. Its not a diffuse, like many users might think.

The tutorial is so horrible. Never do like this guy shows.

This isn’t a great way to get answers. There’s no need to be snippy, people are trying to help you

Hmm :thinking: … a quick search for: subsurface scattering single scatter gives me this link
Path Traced Subsurface Scattering using Anisotropic Phase … - Pixar paper:

An important distinction of diffusion models is that they only model multiple scattering. We generally
distinguish between scatter events at different path depths: Zero-scatter events are photons that enter
a surface and immediately reach an exit point without having scattered in the medium itself. Single scatter events do the same with a single interaction inside the volume. Multiple scatter events have two or more scatter events before exiting through the surface of the object. Diffusion models only capture the multiple scattering contribution, leaving zero and single scatter events to be treated explicitly as separate BxDF lobes.

I don’ beliece so because:

Pixar distinguish between zero, one and multiple-time scatter events in the computation of SSS because in the tutorial they say:

RenderMan gives the user lots of flexibility by providing 4 different subsurface models, plus 1 single scatter model.

then this single scatter model just stops if it goes multi… so it is simpler/faster… but they also say:

The use of Single Scatter is very important for thin surfaces, but might make surfaces appear too gummy, so we’ve decided to modulate the effect manually with the same DMFP map used in the Subsurface model.

They seem to somehow got the info when it is zero, one or mutli-event/scatter…

:question:
So they do compute full SSS but use the info for 0, 1, n scatter events to make a better result… but then also control it manually… This somekinf of puzzles me:

  • stopping SSS computaion if more then one events occurs would make it faster/simpler but
  • using the info of the numeber of scatter events requires a full computation…

So this doesn’t make it faster but somekind of better (or use it only on thin surfaces)? But also need a manual adjustment ( → time).

Hmm blender (cycles) doesn’t (yet) seem to give your access for the info which kind of scatter event it detects while computing the SSS…

I’m not sure if such an info can be produced by comparing different values of scale or radius of a Subsurfac Scattering node. Something like: scatters already with almost same value with smaler radius so does it mutliple times… (this of course wouldn’t make it faster… more the contrary)

On the other hand: more (multi) scatter events would add value to the Transmitted Scatter Distribution (BTDF) and so top the Specular Transmission (see WikiPedia: BSDF) and so the suggestion of @piranha4D for the video using translucency or rather AO to got this info seems plausible.

2 Likes

Thank you for the detailed analysis and the answer!

I tried many approaches like comparing transmission ray with value of 1, then use it as a factor for mix shader with sss. But it doesn’t work. I think you are right - blender doesn’t allow users to control sss rays. And I think it always mixes it with the diffuse. Thats what I see.

I don’t want to use Translucency with AO solution, because in this case I need to manually match colors with the sss colors, which is a pain. AO doesn’t give me exactly what I want, so I have to paint this map manually. This is also not good.

Then my tutorial will be without single scatter. Not a big deal. At least single scatter is not so important for a skin material. That’s what Pixar says.

Thanks everyone for helping.

Sometimes i also watched some tutorials and was so fascinated that i wanted to try it in blender… but like some other software too if the underlaying architecture is sooo different then it just doesn’t work this way. I’m not familiar enough with cycles (or eevvee) enough but i daresay that the result/value after a specific sample count may can be used to decide some further calculation (no such query is yet implemended)… hmmm :thinking: come to think of it: maybe even using a bake with very very low sampling rate and an additionla blur (?) may even give something to play with… maybe not for this specific task here…