Normal Maps in Blender

Can Normal Maps be used in Blender? I’m asking because animating a hi-res mesh would be a pain, so working with a low-res model and using Normals at render time to get the desired details would be better.

I am wishing that to…

But to answer your question… no … no developers yet making this needed feature

The renderer does actually use normal maps internally. Some procedural textures generate normals (stucci comes to mind.) The image texture type can generate a normal map from a bump map. You do this by selecting Nor from the buttons at the right of the Material buttons.

It is also a one line change to the source to use normal maps instead of bump maps.

eh ?

Where then , and I will compile it . I asked Ton (not from your quote) about makeing Normal maps work. But he said no.

But if you are right I will bite and hack it in a test build…

I have a feeling there may be a bit of confusion. If I’m not mistaken, some of you are referring to using normal maps to displace a lower-poly mesh at render time (which has been popularised lately with zbrush). While Blender can use greyscale bump maps (and from what alien-xmp mentions) normal maps, it can’t displace them. You can render with low-tech bump maps, which influences the shading and gives the illusion of more detail, but it doesn’t actually displace the details.

You could also use Manuel’s displacement script, (do a search in the python forum), for actual normal displacement.

BgDM

well yes all of that and this. But normal maps are the “New” Bump map. The Normal map animates well, and does not blur as it getts to the edge. And it just darn well looks better. But the edge outline is still blocky, but that is fine , all we want is the “fake” displace. Because Manuals displace script does nothing during rendering. All it really does right now is make thing a bit bumpy. It would take to much mesh to get the high detail bumps in.

But Normal maps “fake” bump in all directions. z,x,y

^v^ please post where that code is and I will change it so I can test…

Broken is right, it just plays with the lighting equation, not the actual geometry.

In source/blender/blenkernel/intern/image.c,
change:

if (tex->nor) return 3;
else return 1;

to


return 1;

at line 711 and line 1485.
This will of course, make all .blends that use bumpmaps render incorrect - you have to set No RGB in material buttons to get back to bump maps.

http://www.pixolator.com/zbc-bin/ultimatebb.cgi?ubb=get_topic&f=1&t=010852

okay , Now! I have to find a stupid normal Map!

okay first three are the normal map blender…

http://aprilcolo.com/oh/tank/ity/nobumb.jpg

http://aprilcolo.com/oh/tank/ity/bumb.jpg

http://aprilcolo.com/oh/tank/ity/roundbumb.jpg

and these are the old bump maps

http://aprilcolo.com/oh/tank/ity/n-bumbed.jpg

http://aprilcolo.com/oh/tank/ity/n-bumbedround.jpg

http://aprilcolo.com/oh/tank/ity/n-bumbedround2.jpg

That pixelator link looks cool, but you won’t be able to do that. It looks like they are using vertex normals to de-smooth the subsurf.

Also: http://mysite.reblended.com/alien-xmp/Tutorials/NormalMap/NormalMap.html for creating normal maps from geometry.;

youngbatcat: are those images (bump vs normal) all consistent? eg. are the lights and material settings all exactly the same except for the image texture? Just curious since it’s an interesting difference.

grrrrrr! Can you fix it to do that part ?

Broken: Yes they are the same mesh at the same settings. I will post more in a bunch of hours. I am at school stuff right now… ^o^

grrrrrr! Can you fix it to do that part ?

Broken: Yes they are the same mesh at the same settings. I will post more in a bunch of hours. I am at school stuff right now… ^o[1]

Pixelator link seems to be showing “just” vertex displacement mapping (subsurfs or just subdivided original) I’m not sure, but mayby results like that could be done using proper bump texture and noise, subdivide, noise subdivide… etc. Or just subdivide x10 and then noise x5-15??

youngbatcat: could you render those images again without putting normal/bumpmap color to surface color, as I cant see much of improvement. Normalmapped quad should look like idetical to original 3d object from where normalmap was created. (Done that using opengl…)
Basic bumpmap can’t create that kind of depth.


  1. /quote ↩︎