How can I enable two-sided lighting on foliage?

I am attempting to make foliage (and generally transparency mapped SurfaceAppearance) react realistically to lighting

I provided some comparison images below, one shows the really strange way that light interacts with leaves in Roblox, I can’t adequately describe it because I’ve never seen it in any other platform. But the Roblox tree - on Blender - has had its leaves normal mapped from a sphere, also backlight culling was checked and no leaf planes became transparent.

I’ve only found discussions of this problem on Unity and UnrealEngine, but as far as I can tell, nobody has brought it up here before. To me, it’s especially frustrating because lighting works normally - however difficult it may be to set up - on basically everything besides vegetation.

  1. Note that this game (CK:D II) has visible planes for its vegetation, as does a game like Forza Horizon 4/5, but the lighting in all of these is good enough to hide the planes pretty well.

  2. Here is some Roblox vegetation as a comparison. Remember, it’s the same time of day in all comparisons, and yet it still is unnaturally dark in much of the tree.

  3. Finally, here is Forza Horizon 4 vegetation. While not perfect, it still looks pretty good to this day.


I’ve seen examples of foliage correctly interacting with lighting on Roblox before, but I don’t have these with me at the moment but I can best describe them as looking like the trees from Forza Horizon 4.

1 Like

Try messing with Shadows and Double-sided on the tree leaves. Then, also give Ambient colors in lighting a try.

I appreciate this advice, while increasing OutdoorAmbient always helps, it still looks a bit weird since the leaves illuminated by the sun aren’t done so on both sides (backside lighting). I am almost certain this is used in most games and the Roblox example I can’t exactly remember at the moment.

OutdoorAmbient white and bright:

DoublesSided off (this almost always messes the mesh up)

1 Like