Implementing Smooth Lighting of Speedtree in Unreal Engine 5

I have a confusion about implementing Speedtree smooth lighting to Unreal. In general, I have seen that people multiply normal maps with TwoSidedSign node, so that the backfacing leaves doesnt flip the normal. It does achieve the smooth shading, but with some added problems :

  • It blows up the basecolor a lot, it almost creates white where light hits.
  • I have to tweak brightness, contrast and saturation to achieve something pleasing, but that makes the tree overly dark in the shadowy area. Also I feel Subsurface works better before TwoSidedSign multiplication.
  • The leaves have very bright reflection from back , which can be reduced with low specular values like 0.1 or less.
  • In general I have to tweak the material instance for each type of foliage to get pleasing result,

I feel I am missing something, I have asked this in some places but got no response, So I would really appreciate if someone can help me with this! it is really bugging me forever!

I tried to study the .ST9 material, and seemed to multiply the normal map with TwoSidedSign too.


I posted this in the previous speedtree forum a few weeks ago, then came to know that it moved here, so I would really like to have some help here!
Preivous post on this

Hello and welcome to discussions! Sorry you had to post that two-part thread but I can try to help out.

SpeedTree has the option for several different types of lighting setups based on what you need.
Inside SpeedTree> properties> lighting> rendering there is an option to “flip backside normals”… You can definitely leave it off if preferred. In your research where you saw that people are turning it off, some of your observations are very warranted but I’ll try to break this down into why you’d choose one path over the other and then we’ll break down the images you’ve shared.

Option 1:
Face normals give the best / most accurate specular response and reflections up close. And if you do that, then you need to flip the normals on the backsides.
(Example: For v8-v10 store trees, we typically leave this checked for unreal).
The strategy for setting up this type of lighting style is to position your clusters with the face pointed away from the inside of the tree. I also recommend some light variation of the normal in the cluster itself so it breaks up the large group of leaves lighting all the same way and instead does sort of a scattered lighting affect. You should see specular highlights spread out on the leaves and more of a “bokeh” or sparkly looking light in general.

Option 2
If you’re not getting very close to the tree, you can leave the flip normal off. This method tends to be for people who want to push the normals VERY far. They will probably use our global lighting settings> puffy to push all their normals up and out. The advantage to this method is you spend less time arranging the face normals physical direction on the tree to facing outward. For this method, you may want to keep your cluster normal values very low in variation (all the leave’s normals facing up for example).

Some extra tips:
If you push your normals in the cluster or along the tree too far and they flip around to the back side, you’re going to get extra dark pockets in the maps where no light is able to render on the texture. If you want to read more, I’d do a search for backface normals…but typically you never want to do any variation or value past .5 here.

On the tree itself from your images, it looks like your cluster tips are pushed to the extreme where they are flipped. In your image the tips show very black
image

To set up the global lighting, I like to turn on the normal preview …that will also help you see if somethings flipped around.

I hope this helps a bit, sorry it took a moment to type out. If you’re still stuck and need to send us a file to look at for you, hit file “package for support” and send us one at support@speedtree.com

2 Likes

Hey, thank you so much for the detailed explanation! I have posted this to many forums, and rarely do I receive replies, so kind of gave up on it!

I feel very grateful to finally have something to anchor to!

So what I understood from this is that, it very much depends on the tree and objective/scope . I was really confused about why my tree leaves look so ugly glossy in UE.
I tried to study the materials that come with it, I found in the material the checkbox Flip Backside Normals. It does the same as in Speedtree I assume?
In the material it multiplies the normal with TwoSidedSign when the box is unticked.

Also I did not know I could send files for help, that is very great to hear!

Thanks a lot for the support! Plant making seems a niche, and there’s not much content about it online, so these forums are gems!