Search Issue Tracker
By Design
Votes
0
Found in [Package]
Master 2020-07-17
Issue ID
1263882
Regression
No
[HDRP] Refractive material rendering issues when used with reflection probles (box shaped glitch)
When a refractive material is used on a sphere, box shape artefacts are visible. The issue occurs only when the sphere is being influenced by a reflection probe.
Reproduction steps:
1. In attached project, open the samplescene and notice box like shapes on the sphere as in the video. Happens both in sphere and box refraction modes.
Found using:
2020.2.0a18 with Master SRP branch (10.0) also in 8.2.0
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- TreeView Child display toggle styling becomes reversed when clicking and dragging it
- Null is returned when using FocusOutEvent.relatedTarget
- Unity_BaseInstanceID is always zero when rendering multiple meshes and instancing with the same buffer
- UI Document button's text does not resize relatively when size in percentage (%) is used
- Event.current.mousePosition has an offset of 1px along the y-axis in WebGL build when the mouse button is released
Resolution Note:
Unfortunately, the issue comes from a problem with the underlying design of our lighting cluster which is not something that we can really fix.
Currently, refraction works by using reflection probe proxies to apply parallax correction. Since we don't have an explicit probe linked to each object (due to lighting being done in screen space) we choose the first probe's proxy in the pixel's current lighting cluster.
The root of the problem here is that, for optimization purpose, the repartition of the clusters along the depth of the camera depends on the max depth of each tile (the further away is the background, the bigger the clusters). This will result in different probe list per cluster which is exactly what we see here. The blocky artefacts are actually clusters with different probe list and because of that, the proxy used for refraction is different which explains the discontinuities we can see here.
We don't have a satifsying solution here so as a workaround, users need to make sure that there are enough probes and that the background is regular when looking at the refracting object. This should avoid most of these issues.