My game has bushes that consist of a 2-sided flat mesh with an image texture on it using SurfaceAppearance. However, the lighting on them behaves weirdly depending on what direction the mesh is facing.
I know this depends on what ‘direction’ the mesh is facing. If I disable ‘double sided’ on the meshes it looks like this (the weirdly bright side is the one that is technically the underside of the mesh).
I know of some workarounds but another issue is optimization because this is a mobile game for low-end devices; for example I guess I could just copy the plane and flip it around, so that 1 side of a bush consists of 2 planes facing either direction, but this would double the amount of memory being taken up by bushes and I would rather them just look a little funky.
I don’t know if this is exactly your problem, but it might fix it. Apologies for the long-winded reply and for getting a little technical
When you’re using a foliage sheet like this, Normal direction is awkward and light doesn’t know how to interact with the single-sided textured faces from behind, lighting up faces unevenly along edges; that’s that weird edge split you’re seeing.
To fix this, most artists will apply a NormalEdit modifier to their Object. This will make the Normal direction data “act” like it’s all facing one uniform side, that way, all of one side will be lit the same way, and the undersides will be unlit the same way, similar to how real tree leaves act as light passes through. Also double check that your object is using Smooth Shading, and that Autosmooth is enabled (I think autosmooth is required?)
It’s difficult to see the difference at the start, but you’ll know when it works.
Here’s a picture of this tree in Studio, one with the NormalEdit mod, the other without. They look similar on the lit side:
But the back side is very different. The one without the NormalEdit isn’t interacting with any light. And if I view from the underside of the tree, you can see the faces lit differently along the edges which I think is similar to your issue with the bush faces. The foliage with the NormalEdit mod is treating the underside light more accurately and evenly.
Does this just reset Normals to the default for each face’s direction? The thing I suggested changes Normal face data so that it acts as if it’s facing another direction.
Interesting, I’ll have to see how it compares. How does this work for single-sided meshes, using the DoubleSided property and a foliage sheet Surfaceappearance?
So I’m not sure how I can translate that into the way my bushes are
I was never able to figure out how to do alpha transparent textures without having the whole leaf be partially-transparent, though I suppose I can go back to trying to figure out how to do that