I don’t have much experience with SSS but such a hard and straight edge seems very wrong to me. Or what?
I’ve tried recreating the object using different methods and I’ve also tried recreated the material - which is just simple Principled BSDF. I also tried rendering with much more samples to see if that would make a difference.
In the animation, I’m feeding color into the radius slot, which gets multiplied by 0 to 3 in linear fashion. But I also get the edge without the extra nodes.
You can check the scene here - I’d really like to know what I did wrong, if that’s the case.
SSS Debug.blend (869.1 KB)
Looks like you have shading issues due to some weirdness with your bevel modifiers. I fixed them by deleting the bottom modifier, then upping the segments on the other to 2 or 3.
edit: Also, whatever you’ve got going on with your subsurface radius. Are you trying to make it glow from within?
Thanks for having a look at it!
This is super strange. It’s not working for me here and I had previously tried without the modifiers too. Now, I also tried with flat/smooth shading and changing the normal auto smooth. Lowering the angle did nothing but raising it did - however the sharp straight edge is still there. I’m on v.2.91.0 btw.
Could I get you to save the solved scene?
I’m not creating anything, just experimenting to familiarize myself with it. I raised the radius a lot because it’s clearer to see, but the edge is like that from the very beginning.
Well, it’s not quite fixed. I smoothed it out, but it’s still rendering weird, and I’m not sure what you’re trying to do with the subsurface radius.
I’ll upload the smoothed model for you, but the rest is beyond me.
SSSmooth.blend (873.4 KB)
I think I understand now. I had noticed the smoothing issue but completely ignored it. It didn’t matter to me and the bevels were added just to have something extra for the SSS.
The actual SSS in your scene looks the same.
The extra nodes are for easier control - well, the one for color is. The rest are just so I could crank up the values, so I could see what that would look like. It’s just me fooling around, but cranked values or not, the sharp edge is there even at low values without the nodes.
The radius is the radius, in Blender units, that the ray can “teleport” across the surface before exiting. (The more-real-life description of this is that it penetrates the object, reflects, then exits at a different place from where it entered the object, since it reflected from a point inside the object.)
So when you’re talking about a scale of 3, on an object that isn’t even 3 units deep, you’re not really using SSS inside the bounds it was designed for.
SSS is one of those places where the defaults are poorly chosen. For an SSS node, the scale parameter at least makes it easy to edit it to a more reasonable value of 0.1, 0.01, 0.001. It’s a lot like a displacement node in this problem, where basically nobody wants white/black displacement to mean a 1.0 blender unit displacement…
I feel like such an idiot for not having noticed there are 2 different SSS methods to chose from. Random Walk works like I had expected whereas the default Christensen-Burley is odd and worrying.
What the boundaries are and how something can be used, is what IMO really matters in the end. Hence the experimenting.