Hey PolyCount, first post here
Is it possible to bake the information of a Normal Map, meaning it's shadows, into an Ambient Occlusion map? There is the option of baking the information of say a high poly object (A ship lets say, the slats on the side of the boat) onto a low poly model to give the little shadow details, but that involves the creation of a high poly model. Since a normal map would already have been made, it would seem like a time saver to just use the information from the maps to give auto-shadows. So yeah, is it possible? Thanks.
Replies
I think I remember that quite some time ago someone mentioned a technique to gett a good AO result from the information provided by the low mesh + it's associated normal.
So IIRC it is possible, but In my experience rendering a proper AO bake is not too long anyways.
Hope this helps!
You can do it the other way around if thats any help;
You can store AO in a normal map, Crytek's Polybump application can do this, if im not mistaken.
"Horizon data (5): If you calculated a horizon map, If you calculated a horizon map, you can now choose how to export in some form. If these checkboxes are greyed out, you haven't calculated the map and you need to go back to calculation settings to make one. If you check the accessibility option, polybump will create a _ACC.TIF file containing the black and white horizon map. You can use this map for further texture work, for example as an overlay over your diffuse texture to simulate dirt or ambient occlusion, or you can simply put it in the diffuse texture slot of your final asset to get the typical "skydome lighting" look.
If you check the unoccluded area direction (_DDNDIFF) option, polybump will create a _DDNDIFF.TIF file containing the normal map with the horizon map baked in. This will have a similar effect as an ordinary normal map combined with an ACC map in the diffuse slot, however it encodes the opening angle of the unoccluded cone and that allows to express some sort of soft shadows of the high poly details. The ambient occlusion will react to light influence more properly and ambient occlusion will disappear where it is directly lit. Simply baking ambient occlusion into the diffuse texture can look like dirt as even lit directly the darkening remains. _DDNDIF requires quite a lot of additional texture memory (_DDN is still required) and it should be carefully considered if this feature is needed.
If a _DDNDIFF texture is present in the directory of the material and the other textures, and you have specified an ordinary _DDN texture in your material's normal map slot, CryEngine2 will automatically choose the _DDNDIFF texture for the advanced rendering technique, provided the textures have the same prefix (as in: boots_DDN.tif and boots_DDNDIFF.tif)."
http://wiki.crymod.com/index.php/AssetCreation_PolyBumpReference
You can get it from the Crysis SDK.
should be possible, ao from xnormal by loading your low poly in to both high and low slots, then create ao overlay from the normal map and multiply it over the ao you generated
You can also take the AO and bake it back into the normalmap...
http://wiki.polycount.net/Normal_Map#Renormalizing
An ambient occlusion pass can be multiplied onto the blue channel of a tangent-space normal map, because it is shortening the normals in the crevices of the surface. However, the shader must be altered to actually use the lengths of your custom normals; most shaders just assume all normals are 1 in length.
Actually that's not totally true, you'll want to not reduce your blue channel lower than 127 gray, otherwise it'll push the normals to point towards the back of the model, instead of just shortening them.
http://wiki.polycount.net/Normal_Map#AmbientOcclusionIntoANormalMap
Added some more info too