Search Issue Tracker
Fixed
Fixed in 2022.3.23f1, 2023.2.17f1, 6000.0.0b14
Votes
1
Found in
2022.3.11f1
2023.1.17f1
2023.2.0b14
2023.3.0a10
6000.0.0b11
Issue ID
UUM-54332
Regression
No
[URP] Motion vector texture contains outdated info during and before the 'AfterRenderingTrasnparents' injection point
Reproduction steps:
1. Open the attached “ASDQWE” project
2. Open the “Assets/Scenes/SampleScene.unity” Scene
3. Open the Frame Debugger (Window > Analysis > Frame Debugger)
4. In the Frame Debugger Window, press the “Enable” button
5. Observe the “Motion Vectors” rendering event
Expected result: The “Motion Vectors” rendering event is created after the “Render PostProcessing Effects” rendering event
Actual result: The “Render PostProcessing Effects” rendering event occurs after the “Motion Vectors” rendering event
Reproducible with: 2022.3.10f1, 2023.1.17f1, 2023.2.0b14. 2023.3.0a10
Could not test with: 2021.3.31f1 (Two “error CS1061: 'ScriptableRenderer' does not contain a definition for 'cameraColorTargetHandle'“ compilation errors)
Reproducible on: Intel macOS 14
Not reproducible with: No other environment tested
Comments (1)
-
Kronnect
Mar 08, 2024 17:51
In Unity 2021 LTS, the motion vector texture pass was generated after the skybox is rendered and before transparent objects which makes sense since motion vectors are only generated for opaque objects. However, in Unity 2022 LTS, it runs BeforeRenderPostProcessing which causes problems to any render feature that uses it but needs to run before transparent objects.
This is a regression and should be fixed so motion vectors are immediately available as soon as the opaque objects have rendered.
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
- Crash on ResizeScriptingList<ScriptingObjectPtr> when passing an undeclared variable to the results parameter for GameObject.FindGameObjectsWithTag
- [Android] "Screen.safeArea.y" always returns values outside of the Safe Area when the device is in Portrait orientation
- Frame spike due to many TreeRenderer.TreeUpdated calls when repositioning terrains in large Scenes
- Crash on GameObject::RemoveComponentFromGameObjectInternal when reparenting Text GameObjects
- [IL2CPP-GarbageCollector] Changing GCMode might permanently disable GC in a multithreaded context
Resolution Note (fix version 6000.0.0b14):
Motion Vector pass order now correctly follows the Copy Depth pass.
Motion Vectors can now be rendered after Opaques, instead of always rendering after Transparents.
Resolution Note (fix version 2023.2.17f1):
Motion Vector pass order now correctly follows the Copy Depth pass.
Motion Vectors can now be rendered after Opaques, instead of always rendering after Transparents.
Resolution Note (fix version 2022.3.23f1):
Motion Vector pass order now correctly follows the Copy Depth pass.
Motion Vectors can now be rendered after Opaques, instead of always rendering after Transparents.