Cycles SSS skin and Branched Path Tracing?

  • So, I got reported a problem with my already released character set.

    Here's the Superfly version of her skin shader (External outputs plugged to Cycles root, External inputs plugged to diffuse, bump and spec maps):

    I've been testing her always with Branched Path Tracing off and Progressive Refinement on, as that works best for me and I thought the only difference in those were render times and quality in specific things. However, a customer of mine uses Branched Path Tracing on. Here's my trouble.

    Branched Path Tracing off:

    Branched Path Tracing on:

    The only difference I could get was if I turn Volume Samples higher:

    What gives? Is there anything I can tell my customer to do without me having to change her shaders (as this is an already released product)?

  • @afrodite-ohki without testing it out my first glance makes me ask why you are using Scatter Volume on a skin shader? SubSurfaceScattering is already there and the node you'd want to be using so why the other node that would normally be used for making a soft drink shader inside of a glass?

  • @afrodite-ohki I made a mistake there. Scatter volume would be used for making clouds, not a drink. That makes it a stranger choice still.

  • @afrodite-ohki Ok, some testing and I do think that it's the scatter node that is messing you up here. Here in my example I set up just a cycles base and a volume scatter node with the same settings and color you are using. I get a strange dark red tint from a blue scatter.
    0_1559747204974_scatter test.jpg

  • Hmm, as @ghostship said, what is the purpose of the ScatterVolume node in your setup? The output of a ScatterVolume is a volume and in your setup it is connected to the normal input of a Diffuse node. That makes no sense to me.

  • Ok, i made a test render with Anuli (i have to admit that i never used her with the original shaders before). By removing the VolumeScatter the artifact does vanish.

    I have two side notes on your setup regarding the SSS node:

    1 - In your setup the ’Radius’ of the SSS node is set to (1.0, 1.0 , 1.0) thats white and not a good idea. It should be a redish color.
    2 - I strongly recommend to add a very low value to the ’Texture Blur” of the SSS node. Putting 1 at the last digit is sufficient. This is necessary due to a bug of the SSS node in regards to transparent objects that a near to its surface.

  • Being 100% honest? Because I'm bad at mathy things and mostly with shaders I work by basing on what others are doing and testing renders until it looks good. LMAO!

    This shader was based on something one of the Poser devs posted years ago, I think when Superfly was coming out - I can't find it again now, but I do remember that I added some stuff to it until it looked right, but the base of it was that scatter volume. And I thought it was the right thing, because as a 2d illustrator I've learned already about that blue-cyan-ish tint in skin highlights, so... uh, somehow it made sense to me. Oops.

    I just tested it here, and without Branched Path Tracing it seems to be doing nothing at all. Which is a half-bad news for me - I'll have to issue an update to my product, but won't have to re-render my promo images as they'll still be faithful to the final shader, so not as bad as it could have been.

    Thank you both!

    Nagra, your suggestions are excellent, thank you. They've helped me understand more how the Cycles SSS node works - I'd been previously familiar with the one that works with Firefly only. And I wasn't aware of that bug, though I'd noticed the "shine" with transparency before - I'm thankful to now know how to avoid it! When I update the product, I'll fix the texture blur thing but won't change the radius for this product as it would change the visuals advertised in the promos - I'll keep that in mind for future characters.

    Now I'm curious though, why is the volume scatter being ignored by having branched path tracing off?

  • You are welcome. Leaving the radius as is is OK for this character, i think. With its dark skin there is not much SSS anyway (like in nature). For a pale skin on the other side it would make all the difference.

  • Question - could the radius be modulated by an image? Like, if I paint an SSS color map and plug that into it.

  • Yes, both the radius and the scale can be modulated by an appropriate image.

  • Awesome. Thank you!

  • I forgot to mention, don’t expect to much from modulation. The SSS node is more of a generic SSS type. Its not like in some other applications where you have a skin SSS that gives you control for epidermis, dermis and hypodermis.

  • Eh, my knowledge of anatomy is not that amazing anyway. I just wanted something like "more red at the fingers and ears and nose, more blue at eyelids" kind of thing - the scale with image will come handy as well.

  • That should work. In the past i experimented with a down scaled (by a math node to get the correct medium scale) BW image to modulate the SSS scale. What i do miss is a pure SSS node, means one with an output that has only the SSS part. The one we have is always SSS + diffuse.