Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
a5e1836
Use m_globalSettings inside HDRenderPipeline class instead of HDRende…
jenniferd-unity Mar 18, 2021
5c96a13
Removed defaultAsset from HDRenderPipeline
jenniferd-unity Mar 18, 2021
f6cf788
Renamed defaultFrameSettings to mention Camera
jenniferd-unity Mar 18, 2021
4fed323
Fix HDRP Wizard Volume Profiles workflow
jenniferd-unity Mar 18, 2021
9604052
Fixed again https://fogbugz.unity3d.com/f/cases/1320304/
jenniferd-unity Mar 18, 2021
cbf8569
First pass on Frame Settings refactor
jenniferd-unity Mar 25, 2021
7c2e35a
[Frame Settings] Grayed out UI when parent item is disabled
jenniferd-unity Mar 25, 2021
49fa862
Improved warnings and errors when HDRP Global Settings asset gets del…
jenniferd-unity Mar 25, 2021
52679e7
Changed UI for Frame Settings to never disable when they could be ove…
jenniferd-unity Mar 25, 2021
684b4c3
More Frame Settings UI cleanup
jenniferd-unity Mar 26, 2021
9f6daed
Cleaning
jenniferd-unity Mar 26, 2021
5a76ce4
Merge branch 'master' into hd/global-settings-polish
jenniferd-unity Mar 26, 2021
8b81fae
[Fix] Migrating empty diffusion profile list not error-ing
jenniferd-unity Mar 26, 2021
478b4e4
Renamed VolumeProfileLookDev to LookDevVolumeProfile for consistency
jenniferd-unity Mar 26, 2021
488fb2d
(Re-)Added checks for before accessing HDRP's resources
jenniferd-unity Mar 26, 2021
b1745e4
Additional cleanup
jenniferd-unity Mar 26, 2021
f8d66d2
Updated documentation and changelog
jenniferd-unity Mar 29, 2021
c463aca
Revert changes to DefaultSettingsVolumeProfile.asset - not supposed t…
jenniferd-unity Mar 29, 2021
de26136
Cleanup to reference HDRenderPIpelineGlobalSettings instead of HDRP A…
jenniferd-unity Mar 29, 2021
07fd186
Cleanup
jenniferd-unity Mar 30, 2021
55436b5
Minor rewording
JordanL8 Mar 30, 2021
1786f69
Merge branch 'master' into hd/global-settings-polish
jenniferd-unity Mar 31, 2021
20779cf
Forgot to push this
jenniferd-unity Mar 31, 2021
7fe0485
Merge branch 'master' into hd/global-settings-polish
jenniferd-unity Apr 7, 2021
67f5a10
[Fix] Wizard now fixes Global Settings Asset creation in the settings…
jenniferd-unity Apr 7, 2021
27bcaf4
Making sure to load/create the HDRP Global Settings when Scene/Game V…
jenniferd-unity Apr 8, 2021
6fe43eb
Dirtying cannot be done during OnEnable. Delaying the call.
jenniferd-unity Apr 8, 2021
29db241
Null check on migration
jenniferd-unity Apr 9, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions com.unity.render-pipelines.high-definition/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
- Fixed ability to override AlphaToMask FrameSetting while camera in deferred lit shader mode
- Fixed Missing lighting quality settings for SSGI (case 1312067).
- Fixed HDRP material being constantly dirty.
- Fixed wizard checking FrameSettings not in HDRP Default Settings
- Fixed wizard checking FrameSettings not in HDRP Global Settings
- Fixed error when opening the default composition graph in the Graphics Compositor (case 1318933).
- Fixed gizmo rendering when wireframe mode is selected.
- Fixed issue in path tracing, where objects would cast shadows even if not present in the path traced layers (case 1318857).
Expand All @@ -115,7 +115,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
- Fixed Nans happening when the history render target is bigger than the current viewport (case 1321139).
- Fixed Tube and Disc lights mode selection (case 1317776)
- Fixed preview camera updating the skybox material triggering GI baking (case 1314361/1314373).
- The default LookDev volume profile is now copied and referened in the Asset folder instead of the package folder.
- The default LookDev volume profile is now copied and referenced in the Asset folder instead of the package folder.
- Fixed SSS on console platforms.
- Assets going through the migration system are now dirtied.
- Fixed warning fixed on ShadowLoop include (HDRISky and Unlit+ShadowMatte)
Expand Down Expand Up @@ -197,6 +197,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
- Updated Wizard to better handle RenderPipelineAsset in Quality Settings
- Added Global settings check in Wizard
- Added localization on Wizard window
- UI for Frame Settings has been updated: default values in the HDRP Settings and Custom Frame Settings are always editable

## [11.0.0] - 2020-10-21

Expand Down Expand Up @@ -2230,6 +2231,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
- Remove unused _ComputeEyeIndex
- Updated HDRenderPipelineAsset inspector
- Re-enable SRP batcher for metal
- Updated Frame Settings UX in the HDRP Settings and Camera

## [5.2.0-preview] - 2018-11-27

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -203,7 +203,7 @@ By default, the Shader template provides you with the following inputs:

HDRP allows you to customize the order of your custom post-processing effect at each injection point. To order your effects:

1. Go to **Edit > Project Settings** and select the **HDRP Default Settings** tab.
1. Go to **Edit > Project Settings > Graphics** and select the [HDRP Global Settings](Default-Settings-Window.md) tab.

2. Scroll down until you find the **Custom Post Process Orders** section. This section contains three lists, one for each injection point.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,9 @@ Decal Meshes can only affect opaque Materials with either a [Decal Shader](Decal

To use Decal Layers, first enable them in your Project’s [HDRP Asset](HDRP-Asset.md). You can then enable Decal Layers in your [Frame Settings](Frame-Settings.md) to set your Cameras to process Decal Layers.
1. Select the HDRP Asset in the Project window and, in the Inspector, go to **Decal > Layers** and enable the checkbox.
2. To enable Decal Layers in the default Frame Settings for all Cameras, in your HDRP Asset, go to the **Default Frame Settings For** section, select **Camera** from the drop-down and, in the **Rendering** section, enable the **Decal Layers** checkbox.
2. To enable Decal Layers for all Cameras, open the [HDRP Global Settings](Default-Settings-Window.md), go to the **Frame Settings (Default Values) > Camera** section and, in the **Rendering** section, enable the **Decal Layers** checkbox.

To override the Frame Settings for Cameras and set Decal Layers on an individual basis:
To override the Frame Settings for a specific Camera and set Decal Layers on an individual basis:

1. Click on a Camera in the Scene view or Hierarchy window to view its properties in the Inspector.
2. Go to the **General** section and enable the **Custom Frame Settings** checkbox. This exposes the **Frame Settings Overrides,** which you can use to customize this Camera only.
Expand All @@ -34,7 +34,7 @@ After you enable Decal Layers, you can then use them to decouple Meshes from cer

## Renaming Decal Layers

By default, in the UI for Decal Projectors, Mesh Renderers, or Terrain, Decal Layers are named **Decal Layer 1-7**. To more easily differentiate between them, you can give each Decal Layer a specific name. To do this, open the [Default Settings Windows](Default-Settings-Window.md), and go to **Decal Layer Names**. Here you can set the name of each Decal Layer individually.
By default, in the UI for Decal Projectors, Mesh Renderers, or Terrain, Decal Layers are named **Decal Layer 1-7**. To more easily differentiate between them, you can give each Decal Layer a specific name. To do this, open the [HDRP Global Settings](Default-Settings-Window.md), and go to **Decal Layer Names**. Here you can set the name of each Decal Layer individually.

## Performance implications

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ The High Definition Render Pipeline (HDRP) adds the HDRP Settings tab to Unity's

- Assign Render Pipeline Resources Assets for your HDRP Project.
- Set the verboseness of Shader variant information that Unity writes to the Console window when you build your Project.
- Set up default [Frame Settings](Frame-Settings.md) for [Cameras](HDRP-Camera.md) to use.
- Set up default [Frame Setting](Frame-Settings.md) values for [Cameras](HDRP-Camera.md) to use.
- Assign and edit a default [Volume Profile](Volume-Profile.md).

The HDRP Settings tab is part of the Graphics Settings window. To get to this tab, select **Edit > Project Settings > Graphics** and then, in the sidebar, click **HDRP Settings**.
Expand All @@ -22,7 +22,7 @@ Resources assets list the Shaders, Materials, Textures, and other Assets needed

## Frame Settings

[Frame Settings](Frame-Settings.md) control the rendering passes that Cameras make at runtime. This section allows you to set default Frame Settings that all Cameras use if you do not enable their Custom Frame Settings checkbox. For information about what each property does, see [Frame Settings](Frame-Settings.md).
[Frame Settings](Frame-Settings.md) control the rendering passes that Cameras make at runtime. This section allows you to set default values for the Frame Settings that all Cameras use if you do not enable their Custom Frame Settings checkbox. For information about what each property does, see [Frame Settings](Frame-Settings.md).

### Volume Profiles

Expand Down
Original file line number Diff line number Diff line change
@@ -1,27 +1,27 @@
# Frame Settings Scripting API

In the High Definition Render Pipelines (HDRP), [Frame Settings](Frame-Settings.md) control how a rendering component, such as a [Camera](HDRP-Camera.md), [Reflection Probe](Reflection-Probe.md), or [Planar Reflection Probe](Planar-Reflection-Probe.md), renders a Scene. You can specify default Frame Settings for your entire Project and then override them for a particular rendering component. This means that each Frame Setting has a default value, set in the [HDRP Asset](HDRP-Asset.md), then each individual rendering component in your Scene can have an override for it. This is useful if you have lower priority rendering components that do not need to use certain effects. To specify which default Frame Settings a rendering component overrides, each rendering component contains an [override mask](../api/UnityEngine.Rendering.HighDefinition.FrameSettingsOverrideMask.html). A mask is an array of bits, where each bit represents one of two states (0 for disabled and 1 for enabled). Each bit in the override mask represents the override state of a particular Frame Setting.
In the High Definition Render Pipelines (HDRP), [Frame Settings](Frame-Settings.md) control how a rendering component, such as a [Camera](HDRP-Camera.md), [Reflection Probe](Reflection-Probe.md), or [Planar Reflection Probe](Planar-Reflection-Probe.md), renders a Scene. You can specify default Frame Setting values for your entire Project and then override them for a particular rendering component. This means that each Frame Setting has a default value, set in the [HDRP Global Settings](Default-Settings-Window.md), then each individual rendering component in your Scene can have an override for it. This is useful if you have lower priority rendering components that do not need to use certain effects. To specify which default Frame Setting values a rendering component overrides, each rendering component contains an [override mask](../api/UnityEngine.Rendering.HighDefinition.FrameSettingsOverrideMask.html). A mask is an array of bits, where each bit represents one of two states (0 for disabled and 1 for enabled). Each bit in the override mask represents the override state of a particular Frame Setting.

To get the final value of a Frame Setting for a particular rendering component, HDRP performs the following steps:

1. Checks the Project-wide default value for the Frame Setting. In this step, HDRP checks the current value stored for the Frame Setting in the HDRP Asset.
1. Checks the Project-wide default value for the Frame Setting. In this step, HDRP checks the current value stored for the Frame Setting in the HDRP Global Settings Asset.
2. Checks the rendering component's override mask to see if the bit that corresponds to the Frame Setting is set. The state of the Frame Setting's bit in the override mask corresponds to the state of the override checkbox to the left of the Frame Setting in the rendering component's Inspector.
3. Gets the Frame Setting's override value from the rendering component's custom Frame Settings.
4. Sanitizes the result. To lighten your Project, you can specify which features to use in the HDRP Asset. If the Frame Setting you try to modify affects an unavailable feature, Unity discards it in this final sanitization pass. To make sure it is not possible for HDRP to process features that are not available, you cannot access the sanitization process via scripting API.

## Modifying default Frame Settings
## Modifying default Frame Setting values

The Default Frame Settings are in the HDRP Asset, so it is not good practice to modify them at runtime. Instead, you can modify them in Edit mode in [Default Settings tab](Default-Settings-Window.md).
The project's HDRP Global Settings asset stores default values to apply to Frame Settings, so it is not good practice to modify them at runtime. Instead, you can modify them in Edit mode in [HDRP Global Settings](Default-Settings-Window.md).

Note that you can set individual default Frame Settings for three types of rendering component:
Note that you can set individual default values for three types of rendering component:

- Cameras
- Realtime Reflection Probes and Realtime Planar Reflection Probes
- Baked/custom Reflection Probes and Baked/custom Planar Reflection Probe

There is currently no scripting API to modify default Frame Settings.
There is currently no scripting API to modify default values for the Frame Settings.

## Modifying Frame Settings for a particular rendering component
## Modifying Frame Setting values for a particular rendering component

HDRP stores the Frame Settings for rendering components in additional data components attached to the rendering component. The additional data components are:

Expand Down
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
# Frame Settings

Frame Settings are settings HDRP uses to render Cameras, real-time, baked, and custom reflections. You can set the default Frame Settings for each of these three individually from within the [HDRP Default Settings](Default-Settings-Window.md) tab (menu: **Edit > Project Settings > HDRP Default Settings**).
Frame Settings are settings HDRP uses to render Cameras, real-time, baked, and custom reflections. You can set the default values for Frame Settings for each of these three individually from within the [HDRP Global Settings](Default-Settings-Window.md) tab (menu: **Edit > Project Settings > Graphics > HDRP Settings**).

![](Images/FrameSettings1.png)

**Default Frame Settings For** is not just the title of the section, it also corresponds to the drop-down menu, to its right, that allows you to select which component to change the default Frame Settings for. Before you change any Frame Settings, select a component from the drop-down menu. The options are Camera, Baked or Custom Reflection, and Realtime Reflection. After you select a component, you can change the default settings HDRP uses to render a frame using that component. To make Cameras and Reflection Probes use their respective default Frame Settings, disable the **Custom Frame Settings** checkbox under the **General** settings of Cameras or under **Capture Settings** of Reflection Probes.
To make Cameras and Reflection Probes use their respective default values for Frame Settings, disable the **Custom Frame Settings** checkbox under the **General** settings of Cameras or under **Capture Settings** of Reflection Probes.

You can override the default Frame Settings on a per component basis. Enable the **Custom Frame Settings** checkbox to set specific Frame Settings for individual Cameras and Reflection Probes.This exposes the Frame Settings Override which gives you access to the same settings as in default Frame Settings within the HDRP Asset. Edit the settings within the Frame Settings Override to create a Frame Settings profile for an individual component.
You can override the default value of a Frame Setting on a per component basis. Enable the **Custom Frame Settings** checkbox to set specific Frame Settings for individual Cameras and Reflection Probes. This exposes the Frame Settings Override which gives you access to the same settings as within the HDRP Global Settings. Edit the settings within the Frame Settings Override to create a Frame Settings profile for an individual component.

Note that baked Reflection Probes use the Frame Settings at baking time only. After that, HDRP uses the baked texture without modifying it with updated Frame Settings.

Note: Some options are grayed-out depending on whether you have enabled/disabled them in the Render Pipeline Supported Features section of your HDRP Asset.
Note: If [Virtual Texturing](https://docs.unity3d.com/Documentation/Manual/svt-streaming-virtual-texturing.html) is disabled in your project, the **Virtual Texturing** setting is grayed-out.

Frame Settings affect all Cameras and Reflection Probes. HDRP handles Reflection Probes in the same way it does Cameras, this includes Frame Settings. All Cameras and Reflection Probes either use the default Frame Settings or a Frame Settings Override to render the Scene.

Expand Down Expand Up @@ -83,7 +83,7 @@ These settings control lighting features for your rendering components. Here you
| **Screen Space Ambient Occlusion** | Enable the checkbox to make HDRP process Screen Space Ambient Occlusion (SSAO). This allows HDRP to calculate SSAO for this Camera/Reflection Probe. |
| **Transmission** | Enable the checkbox to make HDRP process the transmission effect. This allows subsurface scattering Materials to use transmission, for example, light transmits through a leaf with a subsurface scattering Material. |
| **Fog** | Enable the checkbox to make HDRP process atmospheric scattering. This allows your Camera/Reflection Probe to process atmospheric scattering effects such as the [fog](HDRP-Features.md#fog) from your Scene’s Volumes. |
| - **Volumetrics** | Enable the checkbox to make HDRP process Volumetrics. Enabling this setting allows your rendering component to render volumetric fog and lighting. |
| - **Volumetrics** | Enable the checkbox to make HDRP process Volumetrics. Enabling this setting allows your rendering component to render volumetric fog and lighting. |
| - - **Reprojection** | Enable the checkbox to improve the quality of volumetrics at runtime. Enabling this feature causes HDRP to use several previous frames to calculate the volumetric effects. Using these previous frames helps to reduce noise and smooth out the effects. |
| **Light Layers** | Enable the checkbox to make HDRP process Light Layers. |
| **Exposure Control** | Enable the checkbox to use the exposure values you can set on relevant components in HDRP. Disable this checkbox to use a neutral value (0 Ev100) instead. |
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@ The High Definition Render Pipeline (HDRP) allows you to use Light Layers, which

## Enabling Light Layers

To use Light Layers, you must enable them in your Project’s [HDRP Asset](HDRP-Asset.md). You can then enable Light Layers in your default [Frame Settings](Frame-Settings.md) to set your Cameras to process Light Layers.
To use Light Layers, you must enable them in your Project’s [HDRP Asset](HDRP-Asset.md). You can then enable Light Layers in the [Frame Settings](Frame-Settings.md) to set your Cameras to process Light Layers.

1. Select the HDRP Asset in the Project window and, in the Inspector, go to **Lighting > Light Layers** and enable the **Enable** checkbox.
2. To enable Light Layers in the default Frame Settings for all Cameras, in the [Default Settings Windows](Default-Settings-Window.md), go to the **Default Frame Settings For** section, select **Camera** from the drop-down and, in the **Lighting** section, enable the **Light Layers** checkbox.
2. To enable Light Layers for all Cameras, open the [HDRP Global Settings](Default-Settings-Window.md), go to the **Frame Settings (Default Values) > Camera** section and, in the **Rendering** section, enable the **Light Layers** checkbox.

To override the Frame Settings for Cameras and set Light Layers on an individual basis:

Expand Down Expand Up @@ -42,7 +42,7 @@ You can now use the **Light Layers** drop-down in the **Shadows** section to set

## Renaming Light Layers

By default, in the UI for Lights, Mesh Renderers or Terrain, Light Layers are named **Light Layer 1-7**. To more easily differentiate between them, you can give each Light Layer a specific name. To do this, open the [Default Settings Windows](Default-Settings-Window.md), and go to **Light Layer Names**. Here you can set the name of each Light Layer individually.
By default, in the UI for Lights, Mesh Renderers or Terrain, Light Layers are named **Light Layer 1-7**. To more easily differentiate between them, you can give each Light Layer a specific name. To do this, open the [HDRP Global Settings](Default-Settings-Window.md), and go to **Light Layer Names**. Here you can set the name of each Light Layer individually.

## Example scenario for Light Layers

Expand Down
Loading