Version: 2019.3
Lighting Mode: Baked Indirect
Lighting Mode: Subtractive

Lighting Mode: Shadowmask

This page describes the behavior of all Mixed LightsLight components whose Mode property is set to Mixed. Some calculations for Mixed Lights are performed in advance, and some calculations for Mixed Lights are performed at runtime. The behavior of all Mixed Lights in a Scene is determined by the Scene’s Lighting Mode. More info
See in Glossary
in a Scene, when you set that Scene’s Lighting Mode property to Shadowmask.

Similar to Baked Indirect Lighting Mode, Shadowmask Lighting Mode combines real-time direct lighting with baked indirect lighting. However, Shadowmask Lighting Mode differs from Baked Indirect Lighting Mode in the way that it renders shadows. Shadowmask Lighting Mode allows Unity to combine baked and real-time shadows at runtime, and to render shadows in the far distance. It does this by using an additional lightmapA 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
Texture known as a shadow mask, and by storing additional information in 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
.

Shadowmask Lighting Mode provides the highest fidelity shadows among all the Lighting Modes, but has the highest performance cost and memory requirements. It is suitable for rendering realistic scenes where distant GameObjectsThe 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
are visible, such as open worlds, on high-end or mid-range hardware.

Render pipeline support

  • The Built-in Render Pipeline supports Shadowmask Lighting Mode. In the Built-in Render Pipeline, on platforms that support only four render targets (such as many mobile GPUs), Shadowmask Lighting Mode forces Unity to use forward renderingA rendering path that renders each object in one or more passes, depending on lights that affect the object. Lights themselves are also treated differently by Forward Rendering, depending on their settings and intensity. More info
    See in Glossary
    .
  • The Universal Render Pipeline (URP) does not support Shadowmask Lighting Mode.
  • The High Definition Render Pipeline (HDRP) supports Shadowmask Lighting Mode, and offers additional functionality on a per-Light basis. For information on these additional options, see HDRP Shadowmask Lighting Mode.

Shadowmask quality settings

Shadowmask Lighting Mode has these quality settings:

  • Distance Shadowmask provides greater fidelity shadows at a higher performance cost.
  • Shadowmask provides lower fidelity shadows at a lower performance cost.

Mixed Light behavior

With the Distance Shadowmask quality setting

When you set a Scene’s Lighting Mode to Shadowmask and your Project uses the Distance Shadowmask quality setting, Mixed Lights behave as follows.

  • Dynamic GameObjects lit by Mixed Lights receive:
    • Real-time direct lighting.
    • Baked indirect lighting, using Light Probes.
    • Real-time shadows from dynamic GameObjects, using the shadow map, up to the Shadow Distance.
    • Real-time shadows from static GameObjects, using the shadow map, up to the Shadow Distance.
    • Baked shadows from static GameObjects using Light Probes, beyond the Shadow Distance.
  • Static GameObjects lit by Mixed Lights receive:
    • Real-time direct lighting.
    • Baked indirect lighting, using lightmaps.
    • Real-time shadows from dynamic GameObjects, using the shadow map, up to the Shadow Distance.
    • Real-time shadows from static GameObjects, using the shadow map, up to the Shadow Distance.
    • Baked shadows from static GameObjects, using the shadow mask, beyond the Shadow Distance.

With the Shadowmask quality setting

When you set a Scene’s Lighting Mode to Shadowmask and your Project uses the Shadowmask quality setting, Mixed Lights behave as follows.

  • Dynamic GameObjects lit by Mixed Lights receive:
    • Real-time direct lighting.
    • Baked indirect lighting, using Light Probes.
    • Real-time shadows from dynamic GameObjects, using the shadow map, up to the Shadow Distance.
    • Baked shadows from static GameObjects using Light Probes, up to and beyond the Shadow Distance.
  • Static GameObjects lit by Mixed Lights receive:
    • Real-time direct lighting.
    • Baked indirect lighting, using lightmaps.
    • Real-time shadows from dynamic GameObjects, using the shadow map, up to the Shadow Distance.
    • Baked shadows from static GameObjects, using the shadow mask, up to and beyond the Shadow Distance.

Setting your Scene’s Lighting Mode to Shadowmask

In the Built-in Render Pipeline:

  1. Open the Lighting window (menu: 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).
  2. Select the 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
    tab.
  3. Navigate to Mixed Lighting.
  4. Use the drop-down menu to set the Lighting Mode to Shadowmask
  5. Open the Quality Settings (menu: Edit > Project Settings, then select the Quality category).
  6. Use the Shadowmask Mode drop-down menu to select either Shadowmask or Shadowmask Distance.

In HDRP:

Follow the instructions in the HDRP Shadowmask Lighting Mode documentation.

Shadows and runtime performance

You can use the Shadow Distance property to limit the distance up to which Unity draws real-time shadows.

Shadowmask implementation details

At runtime, Unity uses the shadow mask to determine whether a pixelThe smallest unit in a computer image. Pixel size depends on your screen resolution. Pixel lighting is calculated at every screen pixel. More info
See in Glossary
is in shadow or not. The shadow mask Texture contains occlusion information about baked lightsLight components whose Mode property is set to Baked. Unity pre-calculates the illumination from Baked Lights before runtime, and does not include them in any runtime lighting calculations. More info
See in Glossary
. It shares the same UV layout and resolution with its corresponding lightmap. It contains occlusion information for up to four lights per texel, stored in RGBA format.

If more than four lights overlap, any additional lights fall back to Baked Lighting. The baking system determines which lights fall back to Baked Lighting, and this stays consistent across bakes, unless you modify one of the overlapping lights. Light Probes also receive the same information for up to four lights.

Unity computes light overlapping independently of shadow receiving objects. So, an object can get the influence of ten different mixed lights all from the same Shadowmask/Probe channel, as long as those light bounding volumesA closed shape representing the edges and faces of a collider or trigger. More info
See in Glossary
don’t overlap at any point in space. If some lights overlap then Unity uses more channels. And, if a light does overlap while all four channels are already in use, that light falls back to fully baked.

Lighting Mode: Baked Indirect
Lighting Mode: Subtractive
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961