Skip to content

Add baked ambient occlusion to LightmapGI #10607

Open
@passivestar

Description

@passivestar

Describe the project you are working on

Any 3D project with lightmaps

Describe the problem or limitation you are having in your project

Godot offers screen-space ambient occlusion, but:

  • It's only available in Forward+
  • Having AO in lightmaps will allow you to have a separate larger-radius AO for level geometry, leaving SSAO for finer details and dynamic objects. This way you can fine-tune how AO looks in both large and small crevices
  • Unlike SSAO (or SSIL) baked AO comes at no runtime performance cost

Describe the feature / enhancement and how it helps to overcome the problem or limitation

No AO AO
noao ao

This was baked in Unity, AO intensity is a little bit exaggerated for comparison

Describe how your proposal will work, with code, pseudo-code, mock-ups, and/or diagrams

Exposed parameters will depend on the implementation, but the LightmapGI node will need at least:

  • Enable Ambient Occlusion
  • Ambient Occlusion Radius
  • Ambient Occlusion Intensity

If possible there could also be Direct/Indirect contribution settings as it can be convenient to be able to reduce the amount of AO in direct light:

image

Project Settings (rendering/lightmapping) can include AO quality settings per quality preset, alongside existing LightmapGI quality settings

If this enhancement will not be used often, can it be worked around with a few lines of script?

No

Is there a reason why this should be core and not an add-on in the asset library?

LightmapGI is core

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions