Volumetric Shadow HD Component
Presentation
Intro
Allow true volumetric shadows.
Enabling this feature can be compared to switching the Unity Light's Shadow Type from No Shadow to Soft Shadows.
Inspector
Usage
The Volumetric Shadow HD component must be attached to a Volumetric Light Beam HD. You can use this button at the bottom of the Volumetric Light Beam HD inspector.
Shadow/Cookie and Jittering
When using this feature, we highly recommend to increase the Jittering Factor property on your HD beam.
Adding jittering allows to have a decent rendering quality by smoothing banding artifact while keeping raymarching steps as low as possible (and so good performance).
Visual
Strength
Controls how dark the shadow cast by this Light Beam will be.
The bigger the value, the more the shadow will affect the visual.
Depth Camera
Layer Mask
The beam can only be occluded by objects located on the layers matching this mask.
Performance consideration
- It's very important to set it as restrictive as possible (checking only the layers which are necessary) to perform a more efficient process in order to increase the performance.
- You have to set an Override Layer in the Config when using this feature, and make sure the Layer Mask does NOT include this Override Layer to prevent from having a Layer Mask including any Volumetric Beam.
Occlusion Culling
Whether or not the virtual camera will use occlusion culling during rendering from the beam's POV.
Depth Map Resolution
Controls how large the depth texture captured by the virtual camera is.
The lower the resolution, the better the performance, but the less accurate the rendering.
Update Rate
Update Rate
How often will the occlusion be processed?
Try to update the occlusion as rarely as possible to keep good performance.
- Never: The occlusion will never be updated.
The only way to update it is to manually call 'ProcessOcclusionManually()' from script whenever you need. - OnEnable: The occlusion will only be updated once on start, and each time the beam is enabled/activated (after being disabled/deactivated).
It's suitable for static beams located in static environment. - OnBeamMove: The occlusion will only be updated when the beam will move.
It's suitable for moving beams located in static environment. - EveryXFrames: The occlusion will be updated every X frame(s).
It's suitable for static beams located in moving environment. - OnBeamMoveAndEveryXFrames: The occlusion will be updated when the beam will move in addition to every X frame(s).
It's suitable for moving beams located in moving environment.
X frames to wait
How many frames we wait between 2 occlusion tests?
- If you want your beam to be super responsive to the changes of your environment, update it every frame by setting 1.
- If you want to save on performance, we recommend to wait few frames between each update by setting a higher value. For example with the value 3, the system will perform 1 occlusion test every 3 frames.