BakedLightmap
Inherits: VisualInstance < Spatial < Node < Object
Prerendered indirect light map for a scene.
Description
Baked lightmaps are an alternative workflow for adding indirect (or baked) lighting to a scene. Unlike the GIProbe approach, baked lightmaps work fine on low-end PCs and mobile devices as they consume almost no resources in run-time.
Tutorials
Properties
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
|
Methods
Enumerations
enum BakeQuality:
BAKE_QUALITY_LOW = 0 —- The lowest bake quality mode. Fastest to calculate.
BAKE_QUALITY_MEDIUM = 1 —- The default bake quality mode.
BAKE_QUALITY_HIGH = 2 —- A higher bake quality mode. Takes longer to calculate.
BAKE_QUALITY_ULTRA = 3 —- The highest bake quality mode. Takes the longest to calculate.
enum BakeError:
BAKE_ERROR_OK = 0 —- Baking was successful.
BAKE_ERROR_NO_SAVE_PATH = 1 —- Returns if no viable save path is found. This can happen where an image_path is not specified or when the save location is invalid.
BAKE_ERROR_NO_MESHES = 2 —- Currently unused.
BAKE_ERROR_CANT_CREATE_IMAGE = 3 —- Returns when the baker cannot save per-mesh textures to file.
BAKE_ERROR_LIGHTMAP_SIZE = 4 —- The size of the generated lightmaps is too large.
BAKE_ERROR_INVALID_MESH = 5 —- Some mesh contains UV2 values outside the
[0,1]
range.BAKE_ERROR_USER_ABORTED = 6 —- Returns if user cancels baking.
BAKE_ERROR_NO_LIGHTMAPPER = 7
enum EnvironmentMode:
ENVIRONMENT_MODE_DISABLED = 0 —- No environment is used during baking.
ENVIRONMENT_MODE_SCENE = 1 —- The baked environment is automatically picked from the current scene.
ENVIRONMENT_MODE_CUSTOM_SKY = 2 —- A custom sky is used as environment during baking.
ENVIRONMENT_MODE_CUSTOM_COLOR = 3 —- A custom solid color is used as environment during baking.
Property Descriptions
- bool atlas_generate
Default |
|
Setter | set_generate_atlas(value) |
Getter | is_generate_atlas_enabled() |
When enabled, the lightmapper will merge the textures for all meshes into a single large layered texture. Not supported in GLES2.
- int atlas_max_size
Default |
|
Setter | set_max_atlas_size(value) |
Getter | get_max_atlas_size() |
Maximum size of each lightmap layer, only used when atlas_generate is enabled.
- float bias
Default |
|
Setter | set_bias(value) |
Getter | get_bias() |
Raycasting bias used during baking to avoid floating point precission issues.
- int bounces
Default |
|
Setter | set_bounces(value) |
Getter | get_bounces() |
Number of light bounces that are taken into account during baking.
- float capture_cell_size
Default |
|
Setter | set_capture_cell_size(value) |
Getter | get_capture_cell_size() |
Grid size used for real-time capture information on dynamic objects.
- bool capture_enabled
Default |
|
Setter | set_capture_enabled(value) |
Getter | get_capture_enabled() |
When enabled, an octree containing the scene’s lighting information will be computed. This octree will then be used to light dynamic objects in the scene.
- float capture_propagation
Default |
|
Setter | set_capture_propagation(value) |
Getter | get_capture_propagation() |
Bias value to reduce the amount of light proagation in the captured octree.
- BakeQuality capture_quality
Default |
|
Setter | set_capture_quality(value) |
Getter | get_capture_quality() |
Bake quality of the capture data.
- float default_texels_per_unit
Default |
|
Setter | set_default_texels_per_unit(value) |
Getter | get_default_texels_per_unit() |
If a baked mesh doesn’t have a UV2 size hint, this value will be used to roughly compute a suitable lightmap size.
- Color environment_custom_color
Setter | set_environment_custom_color(value) |
Getter | get_environment_custom_color() |
The environment color when environment_mode is set to ENVIRONMENT_MODE_CUSTOM_COLOR.
- float environment_custom_energy
Setter | set_environment_custom_energy(value) |
Getter | get_environment_custom_energy() |
The energy scaling factor when when environment_mode is set to ENVIRONMENT_MODE_CUSTOM_COLOR or ENVIRONMENT_MODE_CUSTOM_SKY.
- Sky environment_custom_sky
Setter | set_environment_custom_sky(value) |
Getter | get_environment_custom_sky() |
The Sky resource to use when environment_mode is set o ENVIRONMENT_MODE_CUSTOM_SKY.
- Vector3 environment_custom_sky_rotation_degrees
Setter | set_environment_custom_sky_rotation_degrees(value) |
Getter | get_environment_custom_sky_rotation_degrees() |
The rotation of the baked custom sky.
- Color environment_min_light
Default |
|
Setter | set_environment_min_light(value) |
Getter | get_environment_min_light() |
Minimum ambient light for all the lightmap texels. This doesn’t take into account any occlusion from the scene’s geometry, it simply ensures a minimum amount of light on all the lightmap texels. Can be used for artistic control on shadow color.
- EnvironmentMode environment_mode
Default |
|
Setter | set_environment_mode(value) |
Getter | get_environment_mode() |
Decides which environment to use during baking.
- Vector3 extents
Default |
|
Setter | set_extents(value) |
Getter | get_extents() |
Size of the baked lightmap. Only meshes inside this region will be included in the baked lightmap, also used as the bounds of the captured region for dynamic lighting.
- String image_path
Setter | set_image_path(value) |
Getter | get_image_path() |
Deprecated, in previous versions it determined the location where lightmaps were be saved.
- BakedLightmapData light_data
Setter | set_light_data(value) |
Getter | get_light_data() |
The calculated light data.
- BakeQuality quality
Default |
|
Setter | set_bake_quality(value) |
Getter | get_bake_quality() |
Determines the amount of samples per texel used in indrect light baking. The amount of samples for each quality level can be configured in the project settings.
- bool use_color
Default |
|
Setter | set_use_color(value) |
Getter | is_using_color() |
Store full color values in the lightmap textures. When disabled, lightmap textures will store a single brightness channel. Can be disabled to reduce disk usage if the scene contains only white lights or you don’t mind losing color information in indirect lighting.
- bool use_denoiser
Default |
|
Setter | set_use_denoiser(value) |
Getter | is_using_denoiser() |
When enabled, a lightmap denoiser will be used to reduce the noise inherent to Monte Carlo based global illumination.
- bool use_hdr
Default |
|
Setter | set_use_hdr(value) |
Getter | is_using_hdr() |
If true
, stores the lightmap textures in a high dynamic range format (EXR). If false
, stores the lightmap texture in a low dynamic range PNG image. This can be set to false
to reduce disk usage, but light values over 1.0 will be clamped and you may see banding caused by the reduced precision.
Note: Setting use_hdr to true
will decrease lightmap banding even when using the GLES2 backend or if ProjectSettings.rendering/quality/depth/hdr is false
.
Method Descriptions
Bakes the lightmap, scanning from the given from_node
root and saves the resulting BakedLightmapData in data_save_path
. If no save path is provided it will try to match the path from the current light_data.