Search Issue Tracker
Fixed
Fixed in 2021.3.X, 2021.3.15f1
Votes
0
Found in
2021.3.13f1
Issue ID
UUM-21142
Regression
No
[URP][Quest] URP specular precision artifacts on curved surfaces
Reproduction steps
1. Open the attached user's project "URPSpecularPrecisionOnCurvedSurfaces.zip"
2. Open "SpecularPrecisionTest.unity" Scene
3. Set the build target to Windows/Mac standalone
4. Observe that there are 3 categories of surface type (flat, normal map curved, and vertex normal curved) and 2 different smoothness levels (1.0 and 0.8) for each category for a total of 6 test cases. All look correct in editor. (See URP_SpecularTest_Editor.png)
5. Set the build target to Android and build for Quest 2
6. Observe how there are precision artifacts on the specular highlights for the normal map curved and vertex normal curved test cases. (See URP_SpecularTest_Quest2Build.png)
Expected: there are no precision artifacts on the specular highlights for the normal map curved and vertex normal curved test cases
Actual: there are precision artifacts on the specular highlights for the normal map curved and vertex normal curved test cases
Reproducible on: URP 12.1.8 - 15.0.1 (2020.3.39f1, 2021.3.13f1, 2022.2.0b16, 2023.1.0a20)
Not reproducible on: URP 12.1.8 - 15.0.1 (2020.3.41f1, 2021.3.15f1, 2022.2.1f1, 2023.1.0a23)
Reproducible on these devices:
VLNQA00415 - Oculus Quest 2 (Quest 2), CPU: Snapdragon XR2, GPU: Adreno 650, OS: 10
Notes:
-According to the customer, this is due to TransformTangentToWorld using real instead of float or half explicitly. On android real uses half, and on desktop real uses float. However, the customer needs 32 bit precision on both. An alternative would be to remove use of real and provide 2 versions of the function using both half and float
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- Texture2D hash changes inside of an AssetBundle when rebuilding a SpriteAtlas bundle with an empty AssetPostprocessor Script enabled
- Aniso Level still applies when Generate MipMap is disabled in Texture Import Settings
- Mipmap Limit Groups long names are not truncated when creating a new Mipmap Limit Group with a long name
- “ArgumentException: Invalid double parameter.” error is thrown when Infinity is typed into the Fixed Timestep field
- GameObject becomes gray when using HDRP and STP together on macOS
Add comment