Map generator

Ambient occlusion map generator for PBR textures

Create a grayscale AO channel that reinforces cavities and contact areas without painting permanent darkness into the base color.

Generate an AO map

Compare plans

Reviewed:

Direct answer: Ambient Occlusion Map Generator

PLAYTEX AI generates ambient occlusion as one channel of the PBR map stack. Use it to add restrained contact shading in creases and cavities, not to replace scene lighting. Export AO as linear data; Three.js reads its red channel and requires a second UV set, while packed Unreal and glTF workflows may place AO in the red channel of an ORM texture.

Map type
Linear grayscale data
Three.js channel
Red
Packed workflow
ORM · R channel

Why AO makes a material dirty or does nothing

AO should reinforce small-scale contact. Strong values, baked darkness, or missing UV/channel setup can make it harmful or invisible.

Common symptoms, likely causes, and recommended fixes
SymptomLikely causeFix
The whole material looks muddyAO strength is too high or broad shadows were encoded as occlusion.Reduce strength and limit darkening to credible cavities.
AO appears twiceDarkness is already painted into albedo and then multiplied again.Clean the albedo and keep contact shading in the AO channel.
Three.js ignores the AO textureThe geometry lacks the required second UV set.Provide the second UV set and bind the map to aoMap.
A packed ORM texture looks wrongThe importer or shader reads a different channel order.Verify R=AO, G=roughness, B=metallic before import.

AO handoff rules

Color space
Linear / NoColorSpace
White
No added occlusion
Dark
Restricted light access
Three.js
Red channel + second UV set
Unreal / glTF pack
ORM red channel
Albedo
Keep free of duplicate AO

From source to reviewed handoff

  1. Prepare neutral albedo

    Remove broad lighting and avoid keeping the same dark creases in both color and AO.

  2. Generate AO

    Create a cavity-focused channel from the approved texture source.

  3. Tune restraint

    Reduce broad gray regions and preserve white where light access should remain open.

  4. Choose separate or packed export

    Export AO alone or let the target engine package place it in the expected red channel.

Choose an occlusion approach

Texture AO, baked mesh AO, and screen-space AO can coexist, but stacking them without review often over-darkens the result.

Choose an occlusion approach
ApproachBest fitWatch for
Texture-derived AOTileable surface cavities and quick PBR authoringIt does not know the final mesh contacts
Mesh-baked AOObject-specific creases and part intersectionsDepends on the final UVs and geometry
Screen-space AODynamic scene contact at runtimeCamera artifacts and double-darkening

Review before export

  • Keep AO out of albedo
  • Treat the image as linear data
  • Review strength under neutral lighting
  • Confirm the second UV set in Three.js
  • Verify channel order when packing ORM

Ambient Occlusion Map Generator FAQ

What does an ambient occlusion map do?

It darkens areas where ambient light has less access, such as tight cavities and contact regions.

Should an AO map be sRGB?

No. AO is scalar material data and should be sampled as linear data.

Can PLAYTEX AI pack AO into ORM?

Yes, when exporting a map set generated by PLAYTEX AI for supported engine workflows. The site does not currently expose a standalone arbitrary-file channel packer.

Do I need AO if my engine has SSAO?

Not always. Texture AO provides material-local detail while SSAO adds camera-dependent scene contact. Test both together to avoid excessive darkening.