T O P

  • By -

CattreesDev

Normal data changes the normal on face corners of the mesh. These normals are interpolated along the surface of a mesh. The fragments (lets think of them as pixels on the surface) then get read. This fragment data is then adjusted by your tangent normal map (most common bake type). Finally the per fragment adjusted normals adjust the lighting. ==== You could say that the mesh data has a resolution that is roughly per vertex, and that normal maps have a higher resolution that is points on a face. So the custom normals will give you clean surface interpolations in shading, but can not adjust normals on verts that dont exist. The memory footprint is much lower as you are storing less data. You might use this to help simplify the form of a toon model by grouping normals into a more snappy arrangment better indicating changes in facial planes. Tangent normals are ideal for faking geometry. A normal texture can be placed in the middle of a face and adjust shading. Because of this it can be used to bake a lot of small shallow details. Textures have a resolution, this will not be as crisp as the interpolation of the base normals. So with the toon example you might need a very large texture to not get muddy edges (or you can also store tangent normals in vertex colors). Anyway, highbresokution textures can be a lot of data. But the tangent normals are derived from the regular/custom normals. So most of the time the two work together. Custom normals may be used to correct the normals on disconnected faces, and then tangent normals are baked fromnthese custom normals.


JCurtisUK

I'd take it custom normals can not replace the overall detail you can get from a normal map. I'm finding that custom normals can't render multiple directions on a single face.


CattreesDev

>I'm finding that custom normals can't render multiple directions on a single face. No not really. You can visualize the split normals (per corner normals) in the overlay while in edit mode. IIRC its the middle icon under normals. These can look fused as one normal on connected smooth shaded geo, but will split and follow the face normal when flat shaded.


JCurtisUK

Thank you


CattreesDev

Np, you're welcome


libcrypto

Data transfer (of vertex normal data) is useful for fixing shading errors on a smooth-shaded mesh. Normal maps are often used to create the appearance of texture. As such, they operate at a different level than data transfer. I've never actually seen anyone use a normal map to fix a shading error, and I doubt that it's even possible.


mc_sandwich

Rugged rock cliffs, sand ripples, bark on trees. Doing high res geometry to get the custom normals would easily be multiple millions or a few billion polygons. And would make the files massive as well as slow to work with. Is it worth the effort if the camera is rarely ever close to those things? It may benefit a scene if viewed from a macro lens of some bark but not as useful when looking at a forest.