I'd like to use an image texture to fully control my SSS radius in a Principled BSDF. However, given that the SSS radius input seems to want a vector output, I'm not entirely sure how to go about this.

Advice on solving this mystery would be welcome.


It's a vector because you can control the amount of scattering for R, G, and B separately if you wish. It's a bit weird because there is also a "Subsurface Color", but if you set Subsurface color to white, you can see the effect of changing the Subsurface Radius vector:

enter image description here

if you don't want different behavior per RGB color, just pass the color of your image in for that vector. Assuming it's a grayscale image the RGB values will be the same.

Note that it's not really a radius per se; you can't set it to ".5 inches" for example. It's more of a relative amount of scattering per color, and multiplied by the Subsurface value.

  • $\begingroup$ "Assuming it's grayscale the RGB values will be the same" I tried this, and it appeared to create a substantially different result to just typing the numbers individually. $\endgroup$
    – Legoman
    Nov 24 '18 at 20:13
  • $\begingroup$ Additionally, as I stated in the question that I would like "full" control over the radius using the texture, if you could edit your answer to address that as well (whether or not it's possible) I might be able to accept the answer. ;-) $\endgroup$
    – Legoman
    Nov 24 '18 at 21:11
  • $\begingroup$ I'm sorry, I don't understand your comments. I just tried creating an image with a medium gray (128, 128, 128) and it gives pretty identical results to setting the Subsurface Radius to (0.5, 0.5, 0.5). I then tried extracting just the Red channel and it works the same. See this image; the one on the left is using only the Red channel, and the one on the right is using Subsurface Radius of (0.5, 0.0, 0.0). imgur.com/a/qyiDml8 Also not sure what you mean by "full" control? $\endgroup$ Nov 25 '18 at 0:35
  • $\begingroup$ Ah, I think I misunderstood. The RGB value does not directly match the XYZ value, it seems. Apologies—thanks for your answer! $\endgroup$
    – Legoman
    Nov 25 '18 at 0:53
  • $\begingroup$ oh sorry, I thought you knew that Blender puts stuff in the 0-1 range instead of 0-255. Another point in case you don't notice it in that imgur image link: if you're using a grayscale map for the SSS radius, be sure to set the image texture to "Non-Color Data" because otherwise Blender will gamma-correct the image and your values could be different than you might expect. $\endgroup$ Nov 25 '18 at 1:02

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.