Weighted normals are the cheat code for the "low-poly aesthetic." Artists have long manually adjusted vertex normals using tools like Maya's polyNormalPerVertex or Blender's Custom Normal Editor. Now, engines like Unreal and Unity support importing custom normals directly from FBX, and modern workflows (like using the WeightedNormal modifier in 3ds Max or MikkTSpace) automate the magic.
So the next time you see a low-poly rock that catches the light just right—with no faceted harshness, but also no melted edges—thank the weighted normal. It is the silent mathematician, the invisible sculptor, making your sharp, economical world feel soft and real. weighted normals
Enter .
In the end, weighted normals teach us a profound lesson about computer graphics: And a well-weighted lie is indistinguishable from the truth. Weighted normals are the cheat code for the
That’s where normals come in. A normal is simply an arrow pointing perpendicular to a surface. In a shader, that arrow tells the light, “I face this direction.” On a flat polygon, every pixel shares the same normal. The result? Flat shading. Harsh. It is the silent mathematician, the invisible sculptor,
In the world of real-time rendering, a lie well told is better than a clumsy truth. And no lie is more elegant, or more misunderstood, than the weighted normal.
Imagine you’re tasked with lighting a low-polygon game asset—say, a crate, a boulder, or a character’s shoulder. The geometry is faceted, sharp, and efficient. But when a light hits it, the truth of those flat triangles screams back at you. You see every edge. The object looks like a cut gemstone, not a smooth, organic form. The problem isn't the geometry. The problem is how you’re pretending the surface curves.