Hi !
For a specific project, i will probably have to reproject an existent normal map to a new uv set, where the uv shells could be rotated/flipped/scaled etc...
Do you know a way to do that in max ? A simple render to texture won't work fo' sure.
I've found that for maya :
http://www.mentalwarp.com/~brice/normal_shader.php
I guess my dev could take a look to make it for max, but maybe there's already solutions around here ?
Thanks !
Replies
Providing you bake the Normals from a model with the normal map applied correctly it should work.
I assigned my normal map to the normal bump node of my material, then tried to bake a normal map "element" in rtt. Gives me a really good looking normal map, but totally wrong obviously.
RTT, set as new UV set, bake as complete map element.
BUT you can still transfer it. It will work IF you use 2 meshes and projection. It will read the bump as height data on the surface and translate it appropriately, like it would a normal map applied to a high poly object.
You can NOT transfer if you only use a single mesh with 2 UV channels. You must use projection and 2 meshes, to capture the height effects of the normal map. Of course rebaking from the high poly source is the most ideal but there are times when that isn't practical or even possible.
When transferring maps it is generally a good idea to turn off Global Super Sampling and Anti Aliasing the default settings tend to blur the results and smooth things out especially if they are rotated. You want a pixel for pixel transfer so you turn those settings off.
I included a visual example here:
http://www.polycount.com/forum/showthread.php?p=1363332#post1363332
Here is a mini-tutorial I wrote on how to transfer everything BUT the normal map.
http://www.polycount.com/forum/showthread.php?t=58411
I just did a quick test, it should work - I took my source mesh, applied a material with my normal map in the bump slot, set to amount 100, as a normal bump. Treat this as the highpoly. I duplicated it, rotated the uv's 45 degrees and baked the normals from my 'highpoly' to this mesh.
EQ verified that max treats normal maps just like regular normals when baking and you know he's always right.
Of course re-baking from the original high poly source is preferable but not always possible.
2nd, Your rotation is slight, but even with the bad angle, shoddy lighting and skewed perspective I can see the shadows are different. Flip it 180 so red is on the bottom to see the problem more than just a little.
3rd, I'm not sure which viewport shader you're using, but you should include a moving light in your scene to see how the normal map is actually reacting to light.
4th, don't make me take time out of my day to cook up some actual examples, people always want me to take more time out of my day to add that BS to the wiki... =P
So, same normal map, with different uvs orientation = different lighting. The right version is wrong, because the tangent space has changed !
So Vig and Justin_Meisse are teh winners ! But what about the projection cage ? Could it be the exact mesh ? It should be to be accurate, no ? It seems i have some artefacts on my bake test though.
....
Damn you for not telling me this earlier
ninjaed by noors
Just stare at the moving lights until it starts to slow down then do what the voices in your head are telling you to do... it will be ok.
http://wiki.polycount.com/NormalMap#Solving_Pixel_Artifacts