Download

Flat-shaded material issues

Hi all! I am trying to make a material that basically hides any edges, corners and seams on meshes, only leaving silhouette and texture, similar to Donut County: https://i.imgur.com/PwH96lj.jpg

After some googling, unchecking “use tangent space normals” and plugging in a simple blue color into normal does the trick for the look I am going for: https://i.imgur.com/qtR4LaH.png

As you can see, the gate appears completely flat. However, the problem arises once you look at the asset from behind, against a light source: https://i.imgur.com/p3WDOGH.png

The light seems to bleed through the edges due to normal edits. Are there any ways to fix the lighting problems, or a better approach to creating a flat-shaded material avoiding unlit shading model?

What you did was to change the Normals of a Mesh to point upwards. Light affection is calculated by normals.
Even if a polygon faces away from the lightsource, “it still is affected by it” because it’s normal is pointing upwards (and thus facing towards the light).
What you want is a simply unlit material

Thanks for elaboration! But unlit isn’t what I am after, as I want meshes to still receive shadows/lighting, which unlit completely nukes. Unless I am missing something?

The closest to the style in your opening post would be unlit materials with fake shadows, as the shadows in the reference do not represent the shape of objects casting them.

Right, that’s plan B. Is there no way to achieve that flat look with real shadows?

Got some help on the Unreal Answerhub, copying it here in case someone stumbles on the thread. The following setup that is connected to normal (tangent normals unchecked), with Directional light’s vector feeding into Material Parameter Collection, fixes the issue with lighting when looking on meshes against the light source.