Hi everyone,
Welcome to the Probe Volume discussion thread. You can use this thread to ask for help, share feedback, and have discussions about this new experimental feature available for HDRP in 2021.2.
Introduction
We are happy to release in Unity 2021.2 our first experimental version of our future light probe system for Scriptable Render Pipelines.
The goal for this new system is to simplify workflows, improve visual quality, and in the future offer new features for global illumination.
Resources
For more information, please have a look at our documentation (work in progress) and these “Quickstart” slides to get an overview.
Getting started
- Download Unity 2021.2.9 or newer through the Hub.
- Create a new HDRP Project, using one of the provided HDRP templates, for example, 3D (HDRP) or 3D Sample Scene (HDRP)
- Enable this experimental feature in your HDRP settings, following the instructions in the documentation (WIP)
- Create a probe volume GameObjects (GameObject > Light > Probe Volume)
- Set lights General Mode to mixed
- Set dynamic objects to Receive Global Illumination from Light Probes and small & mid-size static objects that would influence GI to Contribute Global Illumination
- Open the Probe Volumes Settings panel (Window > Rendering > Probe Volume Settings) and click on Generate Lighting.
Current state
In this first experimental release, we focused in particular on:
- HDRP support
- Volume-based automatic placement
- Per-pixel lighting of dynamic objects
- Multi-scene workflows: probes stored and loaded per scene + baking sets to manage multi-scene baking
What to not expect in this version:
- Light probes variants management (e.g., baking and blending different lighting setups)
- Use probe volumes to light an entire environment without lightmaps
- Use probe volumes with dynamic lighting or dynamic environments
What you will be able to get with this system:
- Easy probe placement: Choose a default global probe volume, or place your own probe volumes, tweak parameters to optimize the probe density for your needs.
- Faster iteration time, since light probes don’t need to be tweaked when moving objects like walls.
- Improved dynamic objects indirect lighting visual quality: Your objects are now affected per pixel by the probes, allowing for example one side to be lit by the indirect bounce of a red wall next to it and the other side by a green wall.
- Per pixel lighting also allows to reduce the number of small and medium objects lit by lightmaps and hence decrease baking time.
- Improved screen space global illumination: SSGI can use light probes as a fallback when raymarching is bouncing out of screen space.
- Improved volumetric fog visual quality with probe volumes sampling for more realistic lighting
- Improved additive scenes scenarios: Use Scene Sets to bake probe volumes across multiple scenes and load or unload individual scenes at runtime with their probe volumes attached to them.
- Flexible runtime visual quality settings: Use Probe volumes overrides
- Easy debug: Various debug modes are available in the Probe volume window
Design limitations:
- Baking sets are mutually exclusive: scenes cannot be shared across multiple baking sets.
What’s next
Next steps:
- URP support (no plan for Built-in Render Pipeline. URP will come after the first round of user feedback gathering, not before 22.2)
- Improve stability
- Improve UX
- Improve visual quality (light leaking)
- Probes variants management
- Probe blending for time of day scenarios
Other possible future improvements:
- Probe LODs
- Probe disk streaming
- Probe GPU streaming
- Tools to bake different variants of probe volumes
- Tools to switch probe volumes in real-time (requires coding at the moment)
- Debug rendering in the player (only Editor debug tools at the moment)
- Support for additional data (e.g., sky occlusion)
Feedback
In terms of feedback, we’re open to any feedback. Just keep in mind that the goal is not to replace lightmaps.
Please share your feedback in this thread.
To help us prioritize, you can also share the value, importance, and usage of this feature for you and your projects on our public roadmap portal (either through the Global Illumination card, or through the HDRP card if specific to HDRP)
How to report bugs
Ideally, we’d like any bugs reported through the built-in bug reporter tool, as that will automatically provide us with some relevant context.
When reporting bugs, please look at this page for more information and best practices around bug reporting.
Once you have submitted a bug report through the bug reporter, please feel free to start discussing it in this thread.
We hope you will enjoy playing with this new tech, and please share with us your feedback on workflows, UX, and expectations around such a system. Remember, this is experimental and by nature subject to change based on our users’ feedback. We are not recommending using this system in production. Doing so will be at your own risk.
The Graphics dev team