Normal maps looks bad in different LODs

I have a problem with different LODs and their normal maps, for some reason it looks bad on lower polys models, even though it looks just fine in other programs such as Autodesk motion builder.

This video describes the problem ( there is sound please listen to the explanation ) :


I’m using unreal engine 4.4 .
GTX680 latest drivers .
Checked it with mipmaps off and had the same results .

Hi ,

What settings did you use when you imported your model, normals, lods, etc?

Hi,
Nothing special the default actually, then used 3ds max multires modifier to make the other LODs which looks greate in other programs.

Hi ,

I’ve made a simple mesh that is a skeletal mesh and imported into the engine with two other LODs. Please excuse the crude UV layout as I did a simple flat mapping in Max. I applied a material that is included in the starter content so that I could test as you did with your mesh.

Here are my results:

Everything came out OK on my end in 4.4.1. Can you do a test for me though and try a material that is not one that you created? This way we can see if you’re seeing the same results or if it’s something with your normal map. When you open the skeletal mesh make sure to change the view mode from LIT to Detail Lighting. This will allow us to see only the normal map and not have any other textures in the scene.

Let me know how it goes.

I did what you asked, please watch this video :
https://www…com/YjwUvYtO_nE

Thank you for the second video. That’s definitely helpful, but I’m not sure yet if this is related to UE4 having LOD issues or possibly with the mesh or normal map.

A couple of other things to try.

Are you able to see the same results in 4.3?
In 4.4 if you use another mesh with LODs, even just a simple sphere do you see the same results?

If you want you can post a link to the mesh and I can test on my end to see if I can get a answer more quickly. If you do not want publicly post a link you can send one through the Forums private messages.

Thank you!

I’v sent it to you via the forum in a PM, waiting for your opinion, And thank you very much for helping :slight_smile:

No Problem! :slight_smile:

I’ve taken a look at this and first I used your initial assets for the LODs. I couldn’t see a huge difference. Really only that the normal was changing based on the new geometry, which is expected because of the way the normal map texture would react to light.

Next I took your original base mesh (LOD0) and imported that to Max. I then used the Mult-res and made two lower LODs. LOD2 is drastically low to at least see if this is the normal degradation in quality or if it’s something else.

Here are the videos:

Video 1 is using a brick texture for its normal map.

Video 2 is using your normal map.

In both videos you’ll notice that the LOD2 will look different but this is expected because the normal texture is wrapped to the geometry. When the geometry changes drastically like that it will change how light affects it as well.

I didn’t see a quality change in the normal map quality though.

Let me know your thoughts on this.

Thank you!

Nice ! The different between LOD_0 and LOD_1 is barely noticeable now. what is the polycounts for your LOD_1 and LOD_2 ?

I’m at home now since those are still on my work machine I’m not sure of the exact poly count, but it was close to half.

LOD1 was around 30k (I think)
LOD2 around 15k (used Multi-res modifier in Max set at 50%)
LOD3 was around 500-1500k (really don’t remember how low that one was. But in the Mult-res I set the percentage below 10%)

I see, i’v made more tested and it seems like in my assets the series just is between 0 and 1 because the geometry built differently i guess, so i i did ( and it’s looks ok ) is using 1 as 0 , and this is the percentage differents :
I use 11 LODs now ( lol ) .
90% - 80% - 70% - 60 - 50 - 40 - 30 - 20 - 10 - 5 -3
And now it looks kinda smooth. ( the last one is about 200-300 polys ).
Is it ok to use that many ? Will it bring good performance in big scenes with a lot of enemies ?
I’m trying to make the game playable with a lot of enemies in most levels of computers as i can and still keeping the good look of UE4 .
I myself have Nvidia Geforece GTX680 so i can’t really know for sure.

Is it possible to make a loading screen so that the game can load a lot of stuff into the ram so it won’t show fps drop downs in heavy moments ?

Honestly, I’ve never used or tested that many LODs for a single asset. It may not hurt to have that many LODs, but I’m really not sure.

If you’re wanting to use a lot of these characters in a scene at once you will probably notice a performance hit because they are around 30k in their poly count. I’d say that kind of poly count is good for a third person player character, but for an enemy keep it lower, maybe around 15-20k for the ones that are not players.

Give i some test to see how your performance is by placing as many as you’d like to have on screen at one time in your level (just the skeletal mesh, they don’t have to be animated this is just testing performance) and see what kind of FPS you’re getting. If it’s sluggish then lower the poly count and see if that helps or remove a couple of the characters and see if that helps.

Kk i will check it, Thanks a lot for the help ! :slight_smile:

No problem! :slight_smile:

Let me know how it goes and if I can help with anything.