Search Issue Tracker
By Design
Votes
0
Found in [Package]
3.0.3
4.0.0-pre.3
Issue ID
REC-1031
Regression
No
URP: Overlay camera output is black
*Repro Steps:*
1. Create a URP project
2. Add a "Base" camera (tag this "MainCamera")
3. Add a "Overlay camera (tag this "UICamera")
4. Configure "Base" camera to stack the above overlay camera
5. Open unity Recorder
6. Add a "Movie" recorder
7. Configure recorder "Capture" as follows
* Source: Targeted Camera
* Camera: TaggedCamera
* Tag: UICamera
8. Start recording and a black movie should be recorded.
*Configuration:*
_OS:_ Windows
_Unity Version:_ 2020.3.12f1
_Recorder Version:_ 2.5.5 (also tested with 3.0.3)
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
- EditorGUILayout.PropertyField foldout icon inside Vertical Layout Group has an incorrect indent when used with OnInspectorGUI()
- [Android] [iOS] "NullReferenceException: Object reference not set to an instance of an object" throws when entering the Play Mode/opening the application
- The Player freezes on load when building Web platform
- Animator "Conditions" tab breaks when the only Parameter is deleted and another one is created
- "Shader error in 'Universal Render Pipeline/Lit': maximum ps_5_0 sampler register index (16) exceeded" error thrown after a build is completed when the "LOD Cross Fade" parameter is enabled
Resolution Note:
when you have 2 cameras, let's say the MainCamera and a Secondary one,
and the Secondary one is set as an overlay in the Main one.
If you attempt to capture Target Camera = Main One, you get a correct capture.
The capture pass runs within the rendering of the secondary camera.
It may seem surprising but it makes sense: layers are rendered in order and you want to capture the full composition. With stacking the resulting color buffer of a layer is fed as a background to the next one. So you execute capture on the last layer.
With Target Camera = Secondary One, no capture occurs.
The way camera stacking works, with this propagation of color buffers,
it is not possible to isolate the rendering of a specific layer,
it'll always include the previous layers.
So I wouldn't describe this as a bug, and would consider it by design.
Stacking really is just "draw on top of the color buffer of the previous layer until you run out of layers"