Progressive Lightmapper is a fast path-tracing-based lightmapper system that provides baked lightmapsA pre-rendered texture that contains the effects of light sources on static objects in the scene. Lightmaps are overlaid on top of scene geometry to create the effect of lighting. More info
See in Glossary and Light ProbesLight probes store information about how light passes through space in your scene. A collection of light probes arranged within a given space can improve lighting on moving objects and static LOD scenery within that space. More info
See in Glossary with progressive updates in the Editor. It requires non-overlapping UVs with small area and angle errors, and sufficient padding between the charts.
Progressive Lightmapper takes a short preparation step to process geometry and instance updates, and generates the G-buffer and chart masks. It then produces the output immediately and progressively refines it over time for a much-improved interactive lighting workflow. Additionally, baking times are much more predictable because Progressive Lightmapper provides an estimated time while it bakes.
Progressive Lightmapper also bakes global illumination (GI) at the lightmap resolution for each texel individually, without upsampling schemes or relying on any irradiance caches or other global data structures. This makes it robust and allows you to bake selected portions of lightmaps, which makes it faster for you to test and iterate on your SceneA Scene contains the environments and menus of your game. Think of each unique Scene file as a unique level. In each Scene, you place your environments, obstacles, and decorations, essentially designing and building your game in pieces. More info
See in Glossary.
For an in-depth video showing the interactive workflow, see Unity’s video walkthrough: In Development - Progressive Lightmapper (YouTube).
To open the settings, go to Window > RenderingThe process of drawing graphics to the screen (or to a render texture). By default, the main camera in Unity renders its view to the screen. More info
See in Glossary >Lighting Settings.
Property: | Function: | ||||
---|---|---|---|---|---|
Lighting Mode | Specifies which lighting mode Unity should use for all mixed lights in the Scene. Options are Baked Indirect, Distance ShadowmaskA version of the Shadowmask lighting mode that includes high quality shadows cast from static GameObjects onto dynamic GameObjects. More info See in Glossary, ShadowmaskA Texture that shares the same UV layout and resolution with its corresponding lightmap. More info See in Glossary, and Subtractive. |
||||
LightmapperA tool in Unity that bakes lightmaps according to the arrangement of lights and geometry in your scene. More info See in Glossary |
Use this to specify which internal lighting calculation software to use to calculate lightmaps in the Scene. The options are Progressive and EnlightenThe lighting system by Geomerics used in Unity for computing global illumination (GI). More info See in Glossary. The default value is Progressive. If you want to use the Enlighten system, see documentation on Enlighten. |
||||
Prioritize View | Enable this to make the Progressive Lightmapper apply changes to the texels that are currently visible in the Scene ViewAn interactive view into the world you are creating. You use the Scene View to select and position scenery, characters, cameras, lights, and all other types of Game Object. More info See in Glossary, then apply changes to the out-of-view texels. |
||||
Direct Samples | The number of samples (paths) shot from each texel. This setting controls the number of samples Progressive Lightmapper uses for direct lighting calculations. Increasing this value can improve the quality of lightmaps, but increases the baking time. | ||||
Indirect Samples | The number of samples (paths) shot from each texel. This setting controls the number of samples Progressive Lightmapper uses for indirect lighting calculations. For some Scenes, especially outdoor Scenes, 100 samples should be enough. For indoor Scenes with emissive geometry, increase the value until you see the result you want. | ||||
Bounces | Use this value to specify the number of indirect bounces to do when tracing paths. For most Scenes, two bounces is enough. For some indoor Scenes, more bounces might be necessary. | ||||
Filtering | Configure the way the Progressive Lightmapper applies post-processing to lightmaps to limit noise. For lightmap post-processing, the lightmap is split into Direct, Indirect and Ambient Occlusion targets that Unity applies post-processing to individually, before it composites them together into a single lightmap. - Direct: Any light that arrives directly from a Light to a sensor (usually the Camera). - Indirect: Any light that arrives indirectly from a Light to a sensor. This most commonly applies to light that reflects off other GameObjects. - Ambient Occlusion: Any ambient light that the lighting system calculates. See Ambient Occlusion for more information. The Progressive Lightmapper supports the NVIDIA OptiX AI-Accelerated Denoiser, which reduces perceptible noise in the lightmap without causing blurring. It requires an NVIDIA GPU with 4GB+ VRAM and driver version 390+. It is not supported for the NVIDIA Series 20x GPUs (Turing RTX). It is only supported on the Windows platform. |
||||
None | Select this to use no filter or denoising for the lightmap. | ||||
Auto | Select this to use a platform-dependent preset for post-processing the lightmap. If your development machine fulfils the requirements to run OptiX (the NVIDIA OptiX AI-Accelerated Denoiser), the Progressive Lightmapper uses the denoiser with a Gaussian filter that has a 1-texel radius for all targets. If your development machine cannot run OptiX, the Progressive Lightmapper uses a Gaussian filter that has a 1-texel radius for Direct, 5-texel radius for Indirect, and 2-texel radius for Ambient Occlusion. |
||||
Advanced | Select Advanced to manually configure options for each type of lightmap target. The targets types are Direct, Indirect and Ambient Occlusion. For more information, see Advanced Filtering settings, below. | ||||
Lightmap Resolution | Use this to specify the number of texels per unit to use for lightmaps. Increasing this value improves lightmap quality, but also increases bake times. Note that doubling this value causes the number of texels to quadruple (because the value refers to both the height and width of the lightmap). Check the Occupied texels count in the stats, documented below this table. | ||||
Lightmap Padding | Use this to specify the separation (in texel units) between separate shapes in the baked lightmap. The default value is 2. | ||||
Lightmap Size | The size (in pixels) of the full lightmap texture, which incorporates separate regions for the individual GameObjectThe fundamental object in Unity scenes, which can represent characters, props, scenery, cameras, waypoints, and more. A GameObject’s functionality is defined by the Components attached to it. More info See in Glossary textures. The default value is 1024. |
||||
Compress Lightmaps | A compressed lightmap requires less storage space, but the compressionA method of storing data that reduces the amount of storage space it requires. See Texture Compression3D Graphics hardware requires Textures to be compressed in specialised formats which are optimised for fast Texture sampling. More info See in Glossary, Animation CompressionThe method of compressing animation data to significantly reduce file sizes without causing a noticable reduction in motion quality. Animation compression is a trade off between saving on memory and image quality. More info See in Glossary, Audio Compression, Build Compression. See in Glossary process can introduce unwanted visual effects into the texture. Tick this checkbox to compress lightmaps, or untick it to keep them uncompressed. The checkbox is ticked by default. |
||||
Ambient OcclusionA method to approximate how much ambient lighting (lighting not coming from a specific direction) can hit a point on a surface. More info See in Glossary |
Tick this checkbox to open a group of settings which allow you to control the relative brightness of surfaces in ambient occlusion. Higher values indicate a greater contrast between the occluded and fully lit areas. This only applies to the indirect lighting calculated by the GI system. This setting is enabled by default. | ||||
Max Distance | Set a value to control how far the lighting system casts rays in order to determine whether or not to apply occlusion to an object. A larger value produces longer rays and contributes more shadows to the lightmap, while a smaller value produces shorter rays that contribute shadows only when objects are very close to one another. A value of 0 casts an infinitely long ray that has no maximum distance. The default value is 1. | ||||
Indirect Contribution | Use the slider to scale the brightness of indirect light as seen in the final lightmap (that is, ambient light, or light bounced and emitted from objects) from a value between 0 and 10. The default value is 1. Values less than 1 reduce the intensity, while values greater than 1 increase it. | ||||
Direct Contribution | Use the slider to scale the brightness of direct light from a value between 0 and 10. The default value is 0. The higher this value is, the greater the contrast applied to the direct lighting. | ||||
Directional Mode | You can set the lightmap up to store information about the dominant incoming light at each point on the objects’ surfaces. See documentation on Directional Lightmapping for further details. The default mode is Directional. | ||||
Directional | In Directional mode, Unity generates a second lightmap to store the dominant direction of incoming light. This allows diffuse normal mapped materials to work with the GI. Directional mode requires about twice as much storage space for the additional lightmap data. Directional lightmaps cannot be decoded on SM2.0 hardware or when using GLES2.0. They fall back to Non-Directional lightmaps. | ||||
Non-directional | Non-directional mode switches Directional option off. | ||||
Indirect Intensity | Use this slider to control the brightness of indirect light stored in realtime and baked lightmaps, from a value between 0 and 5. A value above 1 increases the intensity of indirect light while a value of less that 1 reduces indirect light intensity. The default value is 1. | ||||
Albedo Boost | Use this slider to control the amount of light Unity bounces between surfaces, from a value between 1 and 10. To do this, Unity intensifies the albedo of materials in the Scene. Increasing this draws the albedo value towards white for indirect light computation. The default value of 1 is physically accurate. | ||||
Lightmap Parameters | Unity uses a set of general parameters for the lightmapping in addition to properties of the Lighting window. A few defaults are available from the menu for this property but you can also create your own lightmap parameter file using the Create New option. See the Lightmap Parameters page for further details. The default value is Default-Medium. |
Setting | Description | |
---|---|---|
Advanced | Set Filtering to Advanced to manually configure options for each type of lightmap target. The target types are: - Direct: Any light that arrives directly from a Light to a sensor (usually the Camera). - Indirect: Any light that arrives indirectly from a Light to a sensor. This most commonly applies to light that reflects off other GameObjects. - Ambient Occlusion: Any ambient light that the lighting system calculates. See Ambient Occlusion for more information. |
|
Denoiser | Select a denoiser to use for the lightmap target: - Optix: If your development machine fulfils the requirements to support the NVIDIA OptiX AI-Accelerated Denoiser, you can select it here. If your system cannot run it, this option is greyed out and set to None by default. - None: Select this to use no denoising for the lightmap target. |
|
Filter | Select a filter to use for the lightmap target: - Gaussian: Select this to use a Gaussian filter for the lightmap target. The Gaussian filter applies a bilateral Gaussian filter on the lightmap. This blurs the lightmap and reduces the visible noise. - A-Trous: Select this to use an A-Trous filter for the lightmap target. The A-Trous filter minimizes the amount of blur while it removes visible noise in the lightmap. - None: Select this to disable all filtering for the lightmap target. |
|
Radius | This option is only available when Filter is set to Gaussian. Use the Radius value to set the radius of the Gaussian filter kernel in texels. A higher Radius increases the blur strength and reduces the perceptible noise, but might cause detail to be lost in the lighting. | |
Sigma | This option is only available when Filter is set to A-Trous. Use the Sigma value to adjust how much to preserve detail or blur the lighting. A higher Sigma increases the blur strength and reduces the perceptible noise, but might cause detail to be lost in the lighting. |
The panel below the Auto Generate and Generate Lighting options shows statistics about the lightmapping, including:
In Auto mode, Unity automatically calculates the lightmaps and Light Probes. If you have Auto disabled, you need to press the BuildThe process of compiling your Project into a format that is ready to run on a specific platform or platforms. More info
See in Glossary button to start the bake.
Progressive Lightmapper provides options to monitor and stop the bake while it is in progress, if you need to.
The progress bar that appears while Unity is baking the lightmap provides an “estimated time of arrival” (displayed as ETA). This is the estimated time in seconds for the current bake to complete. This allows for much more predictable baking times, and allows you to quickly learn how much time baking takes with your current lighting settings.
During manual baking, click Force Stop at any time to halt the baking process. This allows you to stop the process as soon as you see results that look good.
Progressive Lightmapper added in 2018.1 NewIn20181
2018–11–27 Page amended with limited editorial review
Did you find this page useful? Please give it a rating: