Unity URP相机使用简介
Unity URP相机简介
前言
使用URP后,相机组件的面板发生了变化,如下图。接下来简单的介绍下URP下的相机使用
一、RenderType
RenderType 有2个选项,Base和Overlay。如下图
1.1 Overlay
Overlay的相机无法单独显示,可以看到Game窗口一片黑
1.2 Base
Base类型的相机可以单独显示,把RenderType模式修改为Base,可以看到Game窗口显示出来了
1.3 Overlay添加到Base相机上
前面说了Overlay相机无法单独显示,那怎么让Overlay相机的画面显示出来呢。答案是添加到Base相机的stack上。
我们把Camera1设置为Base,Camera2设置为Overlay,接着把Camera2设置到Camera1的stack上。两个相机的画面就都显示出来了。直接上图,就很好理解了
1.3.1 通过代码添加
通过代码来把Overlay相机添加到Base相机的stack上,也是很常见的操作。接下来看看添加代码
//把UI相机设置为Overlay
uiCamera.GetUniversalAdditionalCameraData().renderType = CameraRenderType.Overlay;
//把UI相机添加到Scene相机上
sceneCamera.GetUniversalAdditionalCameraData().cameraStack.Add(uiCamera);
1.4 多个Base相机一起存在的情况
如果有多个Base相机存在,那是怎样一个情况呢。答案是显示优先级最大的那个。
我们把2个相机都调为Base,把Camera1的Priority调为-1,Camera2的Priority调为0;
可以看到只显示出了Camera2的画面
1.5 通过ViewPort Rect实现分屏
上面说了多个Base相机存在的情况下,只显示优先级最高的那个。有没办法都显示出来了。也是有的,我们可以通过调节Viewport Rect来实现2个相机分屏显示。
Camera1 ( x = 0, y= 0, w = 0.5, h =1) 显示在左半屏
Camera2 ( x = 0.5, y= 0, w = 0.5, h =1) 显示在右半屏
可以看到2个相机一起显示出来了