Leaves cards too flat


The way leaves cards get lit makes them look too flat.

Are there any tricks to make this look better?


Thats what normal maps are for.

scroll down. enjoy.

You just need to git gud at 3d modeling :wink:

My tree is basically the one on the left:

And I’m looking for a way to make the cards look better without projecting a sphere normals onto the tree. (Without doing what’s shown on the right side).

You could always tessellate those cards not to be flat. Either that or custom normals. You could also add fake shape with normal map but that won’t help with silhuette or macro look.
With double sided lighting mode you also get bit better look.

projecting a sphere normals isn’t the only method. but do you mean you absolutely need to avoid modifying the vertex normals?

tessellation wouldn’t fix the issue (it doesn’t affect the normals), and I’d suspect doing it via normalmap would yield either weird or not good enough results. also the double sided lighting mode won’t help at sharp view angles (on the card) so it will only do so much

you could also try to compute/modify your own normals directly in the material

Tessellation with actual shape bending.

I was thinking there might be some things to do with PDO at least.
I think I’ll just add more geo.

Displacement still does not auto-compute the normals towards the displaced shapes/angles. this is discussed in several of the Gerstner Waves implementation threads.

PDO will only push the pixels towards the back, in the depth buffer. it won’t help with this
adding more geo will make the problem less evident (literally smaller in size) but you’ll still have it.

can I ask why you’re reluctant to modifying the vertex normals in the mesh or in the material?

You could modify normals in vertex shader instead of doing it in modelling package, though it is hard to achieve good results this way with heavily asymmetrical trees.

@Chosker, While doing that helps the shading, it’s not a behavior you’d see in real life. Light sometimes can go among the leaves and light up the lower ones, but when changing the mesh normals to that of a sphere that doesn’t happen anymore. Only the hemisphere towards the sun will get lit which I really dislike.

I have added more geo now, it’s satisfying… but DFAO has a terrible effect on the tree leaves to be honest. :frowning:

it’s a compromise. in real life you won’t see perfectly flat branches and leaves either. With modified normals the light and shadow willl still behave in a “flat” way (not sure if I totally got what you mean)
anyway the idea is to find a look that ends up being believable, and IMO flat-looking cards like that give it too much away as “low poly” - there’s a reason why artists have researched and used these techniques for years (speedtree has some of that as options too)
btw you dont have to change the mesh normals to that of a sphere, it can be a non-uniform shape as well. you could also make an average between the sphere and the current flat normals to get an in-between. there’s several ways to do it and play around until the effect is more desireable to your needs

At first the tree was sort of ~30k Tris which I didn’t like, I ended up using different branches like in the OP which led to the lighting issue. But now I’m using a little larger planes + duplicating them all around. The tree is now ~4000 Tris and looks ok. This is my first tree ever so I’m just learning and experimenting. I’m going to create a better branch now and go up to ~7000 Tris. I think at that point there shouldn’t be any flat looking cards. :slight_smile:

Update: This is how it’s looking atm with more geo.
I’m really looking forward to hear opinions for making it look better/more 3D.

From that angle it looks great, what about other angles? Usually it just comes down to adding more negative space (aka nothing, transparency) to the texture itself and then adding more geometry instead of using simple planes. I recommend posting a thread on forums, there are more people there who know about modeling foliage.

Good thing to note about leaf cards is that a single card should not look flat if viewed from any direction. For pines in particular adding an edge in the middle of a leaf card and bending it slightly works great.