GameDev LOD create SOP suggestion for seamless LODs

   2607   1   1
User Avatar
Member
11 posts
Joined: Sept. 2017
Offline
Hello,

I would like to share a technique to reduce “inaccurate” normal display when reducing triangle count on a mesh that has a baked normal map coming from a high-poly model.

Let's take a rock model for example.
Usually, you would take the LOD0 mesh which has baked normal map and generate the LODs out of it.
This results in vertex normals changing from the successive LODs which breaks the normal map because it was based on the LOD0 mesh.

Sometimes you would try to solve this by transferring the vertex normals from LOD0 to the successive LODs, but this solution isn't perfect because there aren't enough vertices in the successive LODs in order to have a perfect match.

Otherwise, you would bake individual normal maps for each LOD, but in this case, it is quite expensive in terms of texture memory usage.

My solution to this problem is to simply create the LODs before baking the normal map and then transfer the vertex normal attribute from the lowest LOD to all the LODs above it.
In this fashion, all LODs will have the same vertex normal as the LOD with the lowest triangle count.

Once this is done, we can bake the normal map on to the LOD0 mesh.

I have used this in production over 2 years ago and it gave me seamless LOD transitions when it comes down to normal-map display.

I hope this suggestion is useful, thank you for your time!

Amir
User Avatar
Member
18 posts
Joined: March 2015
Offline
Do you ever get any artifacts when the difference between the low LOD normals (projected onto the high res model) and the high res normals are so large they can't be effectively captured by the normal map?
  • Quick Links