7
$\begingroup$

Usually leaves and foliage are modelled as thin polygonal planes with no thickness. Because of the amount of geometry required to achieve dense realistic foliage, modelling them with any thickness would lead to very high poly counts. Because of this limitation it’s not possible to use subsurface scattering which requires volume in order to work properly. For realism leaves and foliage need SSS.

A work around is to add a solidify modifier which will give subsurface scattering some volume to work on a thin polygonal plane once rendered. But I want to model leaves with two sides, top and bottom, for realism and the solidify modifier doesn’t work with backfacing geometry.

How do you get a correct translucent material with subsurface scattering and two sides for a thin plane?

In the solidify modifier you have ‘Rim’ settings ‘Fill’ and ‘Only Rim’ with both ticked you don’t see overlapping edges, backfacing works correctly, but the SSS doesn’t return any result, with one or the other ticked, SSS works but the normals are flipped and the overlapping edges appear.

Here is my node setup.

enter image description here

Screenshots

enter image description here

enter image description here

enter image description here

Blend file

See also: https://devtalk.blender.org/t/diffuse-translucency-way-too-difficult-to-set-up-in-cycles/807

$\endgroup$
1
  • $\begingroup$ I guess a simple answer is to make both image textures exactly the same shape as on most texture libraries (e.g. Poliigon), but I'm often working from different images poached from the internet and not scanning my own leaves, and this doesn't solve the normals problem. $\endgroup$
    – Aubrey
    Commented Mar 21, 2021 at 11:57

1 Answer 1

8
+50
$\begingroup$

You don't :).

Leaves have no Subsurface Scattering (which needs greater thickness), they only have Translucency (also called Diffuse Scattering).

The linked devtalk post already offers a setup for correct backface reflections.
To use different texture for Frontface/Backface, split the node-tree into two branches.





Result with a small light underneath to show translucency
enter image description here enter image description here



For convenience, I packed the whole setup into a nodegroup called Principled Leaves BSDF.
You can download it below. Both front/back images are packed in the file.

enter image description here





$\endgroup$
5
  • 1
    $\begingroup$ Wow. Thank you. That is so helpful! And primarily for building that node group. What a legend. You've saved me time, and helped me learn. I was wading through the Dev talk, as it is specific to this problem, but struggling to get it setup and running, so studying your build is very enlightening. I'm almost exclusively modelling plants, you've really showed me a lot with this and helped me a with a solution I will return to many times in future. Sometimes you need to know the answer to get the question right, I was thinking all this time that leaves needed SSS. Thank you again, well deserved. $\endgroup$
    – Aubrey
    Commented Apr 2, 2021 at 13:35
  • $\begingroup$ There's nothing better than to help a fellow Blenderer, and learn new stuff along the way :). Should you need any changes made to the nodegroup, feel free to let me know. — And on a slightly different note: Are your projects available somewhere? I'd love to take a look :). $\endgroup$ Commented Apr 2, 2021 at 15:00
  • 1
    $\begingroup$ Yes the community and open-source mindset of the Blender project are are some of my favourite elements. Thanks again Jachym. I'll send you a msg on IG with some of my work. $\endgroup$
    – Aubrey
    Commented Apr 2, 2021 at 16:13
  • 1
    $\begingroup$ is the "backface roughness" accurate or it works inverted or something? $\endgroup$
    – Barbod M
    Commented Aug 15, 2022 at 12:35
  • 1
    $\begingroup$ Hi :). Should be pretty accurate, but until we get translucency implemented in Principled BSDF it will always be an approximation :)) $\endgroup$ Commented Aug 15, 2022 at 15:05

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .