Search Issue Tracker
Fixed in 2021.3.34f1
Fixed in 2021.3.X, 2022.3.X, 2023.3.X, 2023.3.0a17
Votes
1
Found in
2021.3.17f1
2022.3.15f1
2023.3.0a13
Issue ID
UUM-35705
Regression
Yes
kShadowCastingShadowsOnly objects are rendered by Projectors (built-in renderer)
The built-in renderer does not cull kShadowCastingShadowsOnly objects for the Projector render loop in 2021.3, which can result in several issues if those features are in-use:
- Wrong visuals as materials can be applied multiple times
- Floating/intersecting transparent geometry or Z-fighting depending on what the shadow-caster is and what the depth test type is
- A performance regression in 2021+ due to additional geometry being rendered
This was noticed in VRChat on 2021.3 where the player avatar's shadow casting mesh visibly z-fights with the visible mesh under certain projectors when using an Equals z-test with no depth bias.
The issues looks like it was introduced in commit bb013b0975df31e677f2e252e86f92cfe9e3fb52 where some culling of kShadowCastingShadowsOnly nodes was moved to a scriptable render loop file without anything to cover the built-in renderer.
Repro project attached which demonstrates multiple application of materials, shown as the objects being incorrectly coloured in 2021.3+.
- Load SampleScene in 2019.4 to see the correct visual
- Load SampleScene in 2021.3 or later to see the doubling of materials
The original:
!image-2023-05-15-12-23-45-204.png!
The multiplied effect with a depth-equals test:
!image-2023-05-15-12-25-27-701.png!
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- Uninitialized variable warning appears in the Inspector of a custom shader when the variable is initialized
- "Failed creating toolbar element from ID..." error is thrown when resetting the Scene view Overlay layout while an Asset Transformer Toolbox overlay is active
- Entity ID for Font Assets is serialized twice which throws an error when using Debug Inspector
- Play Mode can be entered when disabling Adaptive Performance and pressing either the Play Mode button or the keyboard shortcut to enter Play Mode before recompilation leading to errors and warnings thrown
- Parent ListView element also becomes selected when inner ListView element is selected
Add comment