Type of normal map

1. Tangent space normal map

This is the most common normal map today and the one we discuss in this series. It modifies the normal direction of the model based on the normal direction of the model's vertices (so we have to control the lowpoly's vertex normals).

Insert image description here

Remember that the tangent normal map is calculated using the direction indicated by the vertex. This means that visually; if you rotate the UV island while baking, the normal map may appear to be inverted; however, it should be perfect.

Not every program calculates the average of vertex normals in the same way. This can cause the normal map to look different in different engines, so we should bake the normal map using the same method that the renderer will use (this is called "using a synchronized workflow").

Mikk is a proposed method of calculating vertex normals, intended for generality so that every program calculates vertex normals in the same way. In terms of workflow, this means we can use a low poly with all vertex normals averaged (a smoothing group, or all edges smoothed), bake the normal map using Mikk tangent space, and it will look just like the high poly without having to Handle smoothing errors or hard edges in separated UVs.

Remember, this is still a tangent space normal map, but the model's normals are calculated in a way that is universal and interchangeable between programs.

2-channel tangent space normal map

Using the information stored on two of the three channels of the normal map, the computer can calculate the third channel, reducing memory usage but slightly increasing processing usage. Since memory is usually a bigger issue, this optimization is often used, and some engines do it automatically (i.e. Unreal Engine when we set texture normal compression to "Normal Map"). Releasing the channel on the normal map allows us to reduce the texture size, or use the channel for placement of metallicity/roughness/opacity etc.
Insert image description here

Typically, the discarded normal map channel is blue, so these textures look yellow. This optimization is sometimes done automatically by some engines, so you may see these textures in your projects from time to time.

Mikk tangent space normal mapping is the best option 90% of the time. Unlike world and object space normal maps, the model will be able to deform and the normal direction will remain correct. Normal maps should be baked using the same tangent space as the renderer. The most used tangent space is Mikk, so it should be used whenever possible.

Also, if the normal map shows some pixelation, consider using a 16-bit normal map or one of the above solutions.

These are basically all the normal maps I can summarize. If you know of other types of normal maps please let me know so I can include them in this series.

Thank you for taking the time to watch, I hope this helps.

Guess you like

Origin blog.csdn.net/weixin_45810196/article/details/130924842