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个相机一起显示出来了
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/aaa27987/article/details/129753424