Camera

在URP中有两种类型的相机。

1.一个基本相机,最普通的渲染屏幕或者RT。(通用相机,必须要有,可用于后期效果)

2.一种是叠加式相机,可以在一个基本型相机上叠加多个覆盖式相机。(不能单独使用,必须在正向渲染中,不能单独用于后期效果)

叠加相机只能使用如下属性(其他信息也能在代码中操作,但是不会有效果):

  • Projection
  • FOV Axis
  • Field of View
  • Physical Camera properties
  • Clipping plans
  • Renderer
  • Clear Depth
  • Opaque Texture
  • Depth Texture
  • Render Shadows
  • Culling Mask
  • Occlusion Culling

相机列表

当前版本中,2D渲染和VR多通道渲染,暂不支持叠加相机。以后会支持。

基本相机+叠加相机为相机堆栈

相机堆栈的输出,可以用于后期处理等等

合成一个相机堆栈时,URP执行了几个优化,如优化渲染顺序减少overdraw。

不要过多的排序,引起过多的overdraw。
 

代码操作:

        UniversalAdditionalCameraData mainData = Camera.main.GetUniversalAdditionalCameraData();
        mainData.renderType = CameraRenderType.Base;

        mainData.cameraStack.Add(m_overlay1);
        //mainData.cameraStack.Remove(m_overlay1);

界面操作:

 

多基本相机的多屏幕渲染。

创建多个基本相机,覆盖式相机可以共用于多个基本相机。并通过ViewportRect来设置在屏幕中的位置

 

RT

这个和以前一样

 

URP中,摄像机的clear取决于摄像机的渲染类型。

基本相机:

根据背景类型属性,在循环渲染的开始,可以清除它的颜色缓存区到天空盒颜色,一个纯色,或者未初始化的颜色缓冲区。

颜色buff:

注意:未初始化的颜色缓冲区的内容根据平台会有所不同。在某些平台上,有可能来自前一帧的数据,有可能包含未初始化的内存。最好选择一个颜色缓冲区,除非你纠结清除操作带来的成本。

深度buff:

每次循环渲染开始,清除深度缓冲。

 

覆盖式相机:

颜色buff:

它的颜色来自之前相机列表中这个相机的颜色缓冲区。

深度buff:

这个取决于ClearDepth,如果勾选,则清除深度缓冲区并将颜色绘制到任何现有颜色之上。如果不勾选,则在绘制缓冲区之前对深度进行测试。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值