shown in other instead.
AmbientMapper is a powerful tool that generates ambient occlusion maps for low-poly meshes. It calculates self-shadowing from omni directional "sky light" as well as occlusion and attenuation of light by nearby geometry, and bakes it into the texture to adds realistic shading to the model.
To create an ambient occlusion map, do the following:
- Load a low-poly mesh for which ambient occlusion will be calculated by clicking Load low.
- Load a reference high-poly mesh by clicking Load high. This is optional. If a high-poly mesh is loaded, it will be used to calculate a ambient occlusion for the low-poly mesh.
- Switch to ambient map in one of the viewing panes.
- If necessary, load a cage mesh by clicking Load cage.
- If necessary, load an environment mesh by clicking Load env.
- Set ambient occlusion options on the right pane of the ResourceEditor window.
- Click Run to start calculation.
- When ambient map calculation is completed, click Save.
AmbientMapper has two viewing panes. The display mode can be switched in the the drop-down list in the upper left corner of each pane.
|Load low||Load a low-poly mesh for which ambient occlusion will be baked. The hot key is CTRL + O.
|Load high||Load a high-poly mesh basing on which ambient occlusion will be baked. The hot key is CTRL + H.
|Load cage||Load a cage mesh. It is mesh that allows cleaner baking of the ambient occlusion map. The hot key is CTRL + C.
Without a cage, the rays are cast from the low-poly mesh to the high-poly one (in both directions along the normals of a low-poly). It is done to determine what point of a high-poly mesh (full geometry of which allows to calculate proper ambient occlusion) corresponds to a low-poly mesh point. Whatever point is intersected first, it gets to be baked into the map. However, if there are complex geometry details in the high-poly model or overlapping surfaces, the first met point may not be a proper one! Instead of baking an outer surface, an underneath one that is closest to the low-poly mesh will be baked into a map.
A cage allows to avoid such situations. When loaded, the rays are traced from it rather then from a low-poly.
|Load env||Load an environment mesh. This option allows to load additional geometry that will occlude light for the source mesh and shadow it. For environment mesh itself ambient occlusion is not calculated. The hot key is CTRL + E.
Environment meshFor example, if an occluded mesh is a part of some construction, the latter can be is loaded as an environment mesh. Here you can see that the mesh is adjacent to a bigger framework. With this option, the mesh backside will be shadowed.
|Normalmap||Normalmap allows to calculate ambient occlusion without a high-poly mesh. It uses normals from the map to calculate how the light would fall onto the mesh. The hot key is CTRL + N.
AO calculated using only a normal map
|Reload||Reload a mesh or a normal map.|
|Clear||Clear a mesh or a normal map.|
|Reload all||Reload all loaded resources. The hot key is CTRL + R.|
|Run||Perform the ambient occlusion calculations. The result applied to the model can be seen in the Ambientmap mode.|
|Save||Save the calculated ambient occlusion map into the texture. See supported formats into which the texture can be saved. The hot key is CTRL + S.
|Info||Display information about the mesh that is currently in the viewport. Such data is shown as number of surfaces, vertices and triangles. The hot key is I.|
|Compass||Toggle an XYZ compass in the upper right corner of the viewport. The hot key is C.|
|Triangles||Toggles showing a base grid plane. The hot key is T.|
Ambient Occlusion Options
|Size||Size of the output ambient map.|
|AA||Anti-aliasing mode for the output ambient map. If used, it consumes additional memory.
|Map||UV channel to store the ambient map in. To store the map in the second UV channel, the model should have been exported accordingly.|
|Samples||The number of sampling light rays traced from each point of the mesh to calculate ambient occlusion. If a ray hits some geometry, it meas that the light is occluded and therefore the tested point should be shadowed. The more rays return occluded, the darker the resulting shadowing will be.
|Radius||Distance to trace the light rays to. To be exact, this is a radius for the hemisphere, within which the number of sampling light rays are traced in random directions.
|Power||The power of ambient occlusion term. The higher the value, the brighter the resulting ambient occlusion will be.
|Extrude||Extrusion in pixels. This option adds colored pixels around the contour of each UV shell. The color value is simply copied from the nearby pixel. It allows to get rid of possible darkening where seams meet.
Supported File Formats
Supported formats of geometry/animation data:
- Unigine mesh (MESH)
- 3ds Max (3DS)
- LightWave Objects (LWO)
- Wavefront (OBJ)
- ASCII Scene Export (ASE)
- COLLADA (DAE)
- Quake 3 level mesh (BSP)
- Doom 3 level mesh (MAP)
Supported formats of textures:
- Targa (TGA)
- Portable Network Graphics (PNG)
- JPEG (JPG)
- PhotoShop Document (PSD)
- Direct Draw Surface (DDS)
- CTRL + O — load a low-poly mesh.
- CTRL + H — load a high-poly mesh.
- CTRL + C — load a cage mesh.
- CTRL + E — load an environment mesh.
- CTRL + N — load a normal map.
- CTRL + R — reload all resources.
- CTRL + S — save the ambient map.
- I — toggle mesh info.
- C — toggle a XYZ compass.
- T — toggle base grid.
- G — reset pivot from the mesh to the camera.