Is it the case that in the majority of games the AO map is combined with the diffuse?
It seems to create a similar effects when combined with the diffuse and it of course uses a lot of resource to dedicate the AO to it's own texture. I seem to be seeing a lot of other artists texture work that indicates it's combined with the diffuse.
Replies
When it is used as it's own texture, the difference you'll notice is that there will be no occlusion when light is directly hitting the surface (as really it is supposed to occlude ambient light, not direct light).
In this example, I used tiling textures without any shading in combination with a lowres map to get nice shading and detailed materials. And I could also use the AO to blend some grime in the crevices.
- Baking it into the diffuse
- SSAO - Realtime AO that is calculated based on what is visible on the screen
- Lightmaps - Either manually or procedurally generated lightmaps for all the static pieces in a level.
For our current project, we are using a combination of all 3. We bake/paint in some AO information for fine detail and cracks. The SSAO creates realtime AO in the game and creates AO for all intersecting geometry so that it feels grounded, and so we can use tiling textures and still have it look good. There is also a final lightmap pass where lightmaps are baked for the level.
It might seem redundant, but the lightmaps create all the big shadows and AO but the maps are low res, so the SSAO does all the medium detail AO, and the AO in the diffuse gives some definition to all the fine detail. The final result is very nice looking.
Though I'm not sure if it's been done or where, having your AO as a separate map (or just a single channel in an optimized normalmap, for example) would allow you to blend in your baked texture AO based on how directly lit a surface is. I guess Marmoset can do this, probably most modern engines.
But either way you still want to use some baked AO, since I don't think SSAO reads normal map data. Can it?