Normal Map questions (Blender & DirectX)

Hello
I would like to ask few questions, i hope someone can answer them.

1st Category:

  • When creating a nromal map inside Blender for Unity or any DirectX engine, I have to vertically flip the Green channel, right ?
  • What’s the max distance (depth) in the model? I mean if I have a laptop or a phone, whats the max depth, you know the difference between Low and High. For example is 0.03 (3cm) too deep to be used for a normal map? In short when I should use a normal map. I know that less Poly the better but some objects will be viewed from a short distance but most will be viewed from like a 1.5m+

I have seen videos were people would do huge holes in objects and it still worked, not all but It was in blender and there seemed to be a max possible, since 3 sides of that object dint show any difference, so it would seem that there is a max allowed depth. At least in Blender.

Any help will be much appreciated.
Take Care.

Unity needs an OpenGL MikkTSpace Normalmap just like Blender so don’t change anything.

Distance doesn’t matter with normalmaps, it’s the difference between the face normal of the high-poly and the low-poly geometry that matters. Distance only matters if you set a ray distance on the baker, but the only effect it has is that after a distance it simply won’t capture anything.

high-poly geometry:

baking result:

normalmap_baking.blend (545.1 KB)

1 Like

Thanks for the reply
I kinda get it but not fully.

How do I do a normal map for an object that has outward geometry, instead of inwards like in those that you did
I think its done with a “cage” but I kinda don’t get that fully.

All you have to do is make sure that the low-poly geo is on top of the high-poly geo.

A Cage can be used to control the baking ray distance locally, it is needed with complicated geo, where a uniform ray distance would cause artifacts. Baking a head is a good example for when you need a cage. It has to be both on top of the high-poly and the low poly geo, but it has nothing to do with whether ot not a certaint part of the geo is “inward” or “outward”.

Also, remember what a normal-map is. Also known as a “bump map,” it specifies the direction of the surface-normal for various points on a (flat) surface, in order to give the appearance of bumpiness without actual geometry. Light reflecting off the surface bounces away in a direction different than it normally would, as though it were … “bumpy.”

I think folks are missing the point in your second question; it’s kind of nuanced.

Yes, you can use a normal map to “fake” geometry depth of almost any distance; but should you? If you have a 1 meter sq. wall and a panel line which is supposed to be 10 cm deep (huge), you have 2 options: Model that panel line with real geo, or use a normal map.

It depends on what you intend to do with your model and how it’s seen during render. Is the camera right along the surface at any point? Is it in VR? If any of those 2 questions are “yes”, then real geo should probably be used, or strongly considered, as a first guideline.

Ultimately it’s both an artistic and technical call that only you can probably answer (like texture density).

Incorrect. A normal map modifies the normal directly with its color, whereas a bumpmap changes the normal indirectly. A non (flat) blue solid color would change the normal entirely. For a bump map to do this you would need a continuous gradient of a single channel. So normal maps are derived from bump maps, but we are able to assign the normal directly through the use of these specially crafted maps (color wise). Basically, they are related, but not the same, and both have their strength and weaknesses.

Switch to sculpt mode and use the normals matcap looking from above and add another sideview view. As you sculpt, observe how the red and green color channels kinda swap places (or drag a face above or below its neighboring faces). That is the same the normal map does, except it only mimics it on the flat surface.

There are limits to what magic a normal map can do. As there will be no parallax or occlusion going on (you’ll still see that bottom face from all angles as the true geometry is still flat) I wouldn’t have high hopes for creating an “deep well” effect.

Normal maps (and thus bump maps) are not about “depth”, it’s about “what angle is this surface point to be shaded as”. A shortcoming in Blender (all pathtracers?) is that (sharp) shadows going across these new angles will not be bent or disturbed in any way - dead giveaway that this is indeed flat even if reflections are going another way.

1 Like

Thanks for the help :slight_smile:

Additional question
Does the UV have to be for everything, like diffuse, specular and normal? Is it possible to use a differently done UV for Normal map for a game or Does it have to be the same one for all the textures?

I’m guessing one UV only, for Blender stuff but especially for game engine stuff - you have to check out what they are capable of.

Blender can have multiple UVs, but normally you’d only have a single layout unless:

  • You need to define some label where the normal UV doesn’t cut it.
  • You need some detail maps on certain parts (similar to above).
  • You need a special UV layout to define things like anisotropic tangents (Cycles).

At least that’s my take on it.

1 Like