有时候我们想要用单独一个相机来渲染UI。

1.内置管线

在内置渲染管线里,我们可以设一个主相机,再设一个UI相机。将UI相机的ClearFlags设为Depth Only,再设置相应的要渲染的层,即可将UI相机的图像叠加到主相机上(注意相机优先级)。

2.URP相机栈

但URP里的Camera没有clearFlags,改为了RenderType 。RenderType里只有base和overlay。
所以通常方法是利用相机栈来进行多个相机的叠加。
同内置渲染管线一样,我们可以设一个主相机,再设一个UI相机。将UI相机设置为overlay,再ui相机拖入主相机的相机栈中,设置好要渲染的层,即可将UI相机的图像叠加到主相机上(overlay相机没有优先级,如果有多个overlay相机的话,会按照相机栈从主相机依次顺序渲染相机栈中的每个相机)。
但这里有个问题,一旦设为overlay相机,就会丢掉很多可自定义的设置,比如相机渲染的画面在整个视图的比例(Viewport rest)。

3.URP相机里的BackgroundType

所以重点来了。其实在overlay里environment有个选背景的选项。天空盒和纯色自不用说,关键的是第三个Uninitialized(未初始化的)。在2020.1.0版本之前,设置这个基本和设置纯黑一样。

但是在我最近做的项目里,发现他们竟然能在urp里使用传统方法的UI相机(就是内置管线那套)。于是我研究了下,发现如果将版本升到到2020.2.1版本,urp版本到10.2.2以上。这时候ui相机即使是base的renderType,将BackgroundType设置为Uninitialized时,就能跟传统的UI相机效果一样了(同时就要注意优先级了)。
但是要注意,ui相机和主相机的HDR设置要一致,要么都是off,要么都是Use Pipline Setting,否则叠加的效果就会失效
改viewport rest依然绘失效。

之后又去文档翻下对Uninitialized这个选项的解释。
Does not initialize the color buffer. Choose this option only if your Camera or Camera Stack will draw to every pixel in the color buffer.
不初始化颜色缓冲区。只有当您的相机或相机堆栈将绘制到颜色缓冲中的每个像素时,才选择此选项。

不是很懂。但感觉unity这么悄咪咪地把这个depthOnly的功能加回来,估计还是有性能之类的顾虑,还是尽量用相机栈来做相机的叠加吧。
并没有加回来,本质好像还是overlay模式,泪目。。。

在URP中使用UICamera相关推荐

  1. Unity URP中的多Pass Shader和Planer shadow

    一 .Unity移动端软阴影技术总结: https://blog.csdn.net/jxw167/article/details/82422891 二. 平面阴影的原理 https://zhuanla ...

  2. 【直播回顾】URP中如何写Shader?

    洪流学堂,让你快人几步.你好,我是你的技术探路者郑洪智,你可以叫我大智. 每周三例行的洪流学堂Unity直播公开课这周也如期与大家见面啦! 这周一起探索的话题是:URP中如何写Shader? 下面我们 ...

  3. 关于URP中RendererFeature的使用及毛发效果的几种实现方式

    目录 前言 一.铺垫 二.基于程序网格复制的实现 三.基于程序多材质的实现 四.基于RenderObjects手动配置的实现 4.1.多Pass实现多层毛发 4.2.override material ...

  4. [Render] 适用于高级Unity创作者的通用渲染管线[4] - URP中的光照

    RuntimeMapMaker3D-Pro 英文原文:https://resources.unity.com/games/introduction-universal-render-pipeline- ...

  5. URP中如何用多个相机?

    洪流学堂,让你快人几步.你好,我是郑洪智,你可以叫我大智. 本篇文章首发于我的公众号:洪流学堂 在通用渲染管线(URP)中,相机有以下工作方式: 堆栈相机(Stack Cameras)可以将多个相机的 ...

  6. 在URP中正确写入Sprite深度以使用DOF

    我准备在文字冒险中加入景深的效果,但是因为unity内置shader的缘故,sprite是不会写入深度的,而如果要使用PostProcessing的DOF效果的话,是必须要将半透明物体的深度正确写入D ...

  7. URP中的2D Light光照在移动端不生效的问题

    最近在尝试用URP推出的还在preview阶段的2D Render系统,发现2D光照在打成APK后失效,尝试了些方法后发现把2d光照用到的shader放进设置中的built in shader后可以解 ...

  8. Unity URP中的Post-processing

    在Unity中,你可以选择不同的渲染管道.渲染管道执行一系列获取场景内容的操作,并在屏幕上显示它们.在高水平上,这些操作包括:Culling,Rendering,Post-processing.不同的 ...

  9. SteamVR在HDRP或URP中手柄控制器材质如何显示正常?

    在用Unity的HDRP或URP渲染管线时,当配置好了SteamVR手柄控制器后,会发现手柄显示不正常,材质丢失,呈现洋红色 通常情况下,对于使用Standard Shader的材质,当使用HDRP\ ...

最新文章

  1. ioctl之FIONREAD
  2. Dinic算法----最大流常用算法之一
  3. gradle web_简单的Gradle Web应用程序
  4. u-boot移植随笔:u-boot2010.09移植到8MB Nor Flash的S3C2440,第一步搞定(补记)
  5. layui option 动态添加_layuiselect如何动态添加option
  6. iPerf3 局域网性能测试路由器
  7. 飞思卡尔单片机学习记录(一)
  8. java后台怎么解密md5,Java md5 密码加解密
  9. fpga学习之vga驱动
  10. 【怀念】清明遥祭外婆
  11. mysql中排名次_mysql:名次排名 (并列与不并列)
  12. H3C 胖AP设置(非VLAN模式)
  13. 传奇怎么设置不显示服务器,如何将传奇服务器未知神殿地图修改为不限制进出...
  14. 关于网络安全里蜜罐的详细介绍
  15. leetcode刷题:292. Nim 游戏(Java)
  16. SpringBoot 自动配置原理(超级无敌详细)-2
  17. UDK – Projectiles
  18. 【论文阅读】MAGNN: Metapath Aggregated Graph Neural Network for Heterogeneous Graph Embedding
  19. Cleaning up unclosed ZipFile for archive
  20. 研究抖音私信名片链接和消息卡片逆向分析笔记

热门文章

  1. android studio 预览问题 :java.lang.NoClassDefFoundError: com/android/util/PropertiesMap
  2. Oracle中怎么设置一列的列宽,oracle - 所有列的Oracle列宽 - 堆栈内存溢出
  3. 修改php前台地址,PHPCMS如何增加电话、地址等方便前台调用的自定义变量
  4. 手机照片局部放大镜_手机摄影,竟然有3种对焦方式,想拍出专业水准,你必须了解...
  5. win10动态壁纸怎么设置_电脑怎么设置动态桌面
  6. php中浮点数四舍五入,php浮点数四舍五入函数
  7. 美食海报设计技巧?有机轻食饮食新趋势!
  8. 电商页面设计吸睛大法|C4D背景素材模板,视觉之旅开启!
  9. 怎么把照片做成消消乐_开心消消乐特效怎么制作 制造的几种方式分享
  10. php 工商银行公众号支付代码_微信支付PHP SDK之微信公众号支付代码详解