"Normal maps don't look good in VR" - yet every single demo is using them.

I’m confused.
As we all know - normal maps don’t look good in stereoscopic view, so they are not suited for (any) VR.
Yet, VR demo’s like Showdown and Suntemple make extensive use of normal maps for their walls etc.

What gives ?

Who told you that?!

Normal maps work just fine for smaller details. They don’t work for larger details.

Thanks a lot for chiming in.
It’s in most of the “best practice lists” (over on Oculus , Epic, Polycount, etc)
Sometimes you just need someone to tell you straight up : “it’s fine for smaller details , not for larger details”.

Much appreciated.

I’m not a huge fan of the best practices guides, they tend to be way overzealous about things. If everyone followed them, 90% of the best VR games wouldn’t even exist.

1 Like

Yeeeeeeeees this!

And someone one day, will throw everything we think we know about VR out the window and do something incredible. :slight_smile:
Its art.

Normal maps are fine for small details, or if you’re not going to view an object from the side. In fact, in most of my objects, LOD0 is the “hero mesh”, LOD1 and further are using normal maps, with the furthest LOD not even using that (just a diffuse).

I just wish there was a way, in engine, to add in LOD channels into a mesh :\

It is not that you should not use Normal maps, you will always need them, it is that Normal maps might not have the impact that they do when viewed on a flat monitor compared to being seen in VR. As many people have stated in here before, Normal maps are used and needed for smaller micro detail that would otherwise be very hard to display. However for larger things like screws or to indicate where two pieces of paneling join together, Normal maps might not be able to show this off convincingly enough and instead the object should be made out of Geometry instead.

Normal maps are also needed for proper lighting information. This works in VR as good as it works on a flat screen. But you want to make your low poly meshes alot closer to the high poly meshes.

For large flat or semi-flat surfaces(terrain etc.) parallax occlusion mapping or the multi parallax mapping(like in the starter content) work pretty good. But in alot of cases using actual geometry+LOD is cheaper than these high end material effects.

Yes, I was just thinking this would be an issue. Since parallax shows depth more plainly and obviously while flat screens tend to only show depth when in motion (especially orbital motion), there will be a renewed interest in parallax and parallax occlusion methods as well as plain geometry and tessellation in making sure these details show up properly in 3D.

Long story short, normal maps affect the lighting on flat surfaces. If you want to add depth to it, you need parallax.

I’d like to see how well it performs in mobile VR

normal maps also don’t shadow so it’s really about evaluating the detail you need in a frequency sense - i.e large/low frequency details could be mesh, then medium/mid frequencies could be either mesh or POM or you skip to high frequency detail which is too small to shadow/give parallax to the eye.

I’m working on a photogrammetry-based project where I have my high-res scan and can ‘scrape off’ frequencies into either mesh detail or texture/normal/height map detail. This slider can change as the objects recede into the distance etc and shading tricks can pick up the slack. It’s an interesting time for this sort of workflow.

Epic still haven’t removed their parallax material recommendation from this page:

https://docs.unrealengine.com/en-us/Platforms/VR/ContentSetup