Ambient Occlusion

Ambient occlusion is a technique used in computer graphics to approximate the effect of environment lighting.

How does it work?

Algorithm calculates appearance of each point on model based on how easy it is for a surface to be touched by light sources. From algorithm point of view, FinalMesh enumerates triangles of model. Occlusion is calculated for each 3D point on triangle and mapped to 2d texture image. Generated texture image could be used as emissive texture in order to show baked lighting or modulate standard lighting. In last case texture may be attached to diffuse/specular material channels or to special light map channels.

Apart from classic ambient occlusion this tool may generate shadow maps for current scene lights. Results are high quality soft or hard shadows.

Stanford Bunny

Light Map

Requirements

Firstly, all object must be converted to polygonal meshes and shouldn't be instanced. Materials must be assigned to objects. Objects with quads or polygons may be triangulated during AO and UV unwrap process.

If objects are made from primitives ( Cube, Plane, Sphere, Nurbs, etc) convert them to polygons. In order to do that, select them and in tool menu click "Rasterize Procedural Objects".

If objects does not have materials, please use existing one, create new material. Drag material to objects in order to attach material to object.

Usage

Simple Case - One untextured object

Load any model, check existence of material. If not present, create new one and drop to material. Select Ambient Occlusion from tools menu. Default options will work just fine.

Already textured object

If your objects already have regular color textures and you want to create AO texture, just select objects you want to process and select Ambient Occlusion. Most likely first UV channel (UV0) is used already, so just select second channel (UV1) and go.

Multiple Objects

You may process objects one by one or select all required objects and select Ambient Occlusion tool. It may be logical to use one AO texture for all objects, in this case you should select required objects and UV Unwarp option select "Process mutiple selection as single object".

Process of creating ambient occlusion consist from two stages: generating UV corrdinates and AO process itself and by default. Ambient Occlusion should generate UV maps automatically, if UV does not exist.

UV channel.

If you want to save your model to WebGL, will be safe to use 0 or 1 channel. If you want to save to PDF or any other 3d format, use 0 channel. These formats do not support separate UV channels. If your target is WebGL only, always use 1.

AO tool respects cast shadow and receive shadow attributes. This means that shadows will be applied to objects with receive shadows attribute. Objects without receive shadows attribute will not affect rest parts of model.