当前位置:网站首页>Unity URP渲染管线摄像机核心机制剖析
Unity URP渲染管线摄像机核心机制剖析
2022-07-31 04:42:00 【Clank的游戏栈】
前言
上一节从项目的目录结构与示例场景的内容分析了UPR渲染管线项目的基本组成,接下来分析URP的主要机制,并通过与内置的向前渲染管线做对比,来比较它们的与不同。按照先后顺序本节首先来分析URP渲染管线的摄像机的策略。

1: URP渲染管线重新定义了摄像机
相比于内置的向前渲染管线,UPR渲染管线首先重新定义了摄像机的策略。接下来看下相比向前渲染管线摄像机机制的核心变化(为了更好的展示,我把URP的摄像机属性面板做成两行,并放大),如图1.2-1与1.2-2对比:

(图1.2-1) URP渲染管线摄像机面板参数,从左到右,从上到小

(图1.2-2) URP渲染管线摄像机面板参数,从左到右,从上到小
由上图对比我们发现了UPR 摄像机相比向前渲染管线,明显变多,同时进行了分类,让整个配置的属性更清晰,先来讲解摄像机的几个核心变化:

(2) Camera后期处理机制: 上一节分析了URP示例场景中Post-process Volume节点做后期处理控制被单独拿出来,分全局与局部,在摄像机处提供一个bool型属性配置”Post-process”, 来配置后期处理是否有效。而内置的向前渲染管线的Camera没有考虑这样的机制,让开发者通过脚本并重载接口来实现后期处理。
(3) 抗锯齿算法: URP渲染管线提供可选的FXAA与SMAA, 内置向前渲染管线提供抗锯齿算法为MXAA。
(4) 其它渲染控制更灵活: 例如URP引入了是否渲染阴影的开关,相比内置的渲染管线,阴影控制更灵活,可以在低端机上关闭阴影,高端机上开启阴影等,更适合手机游戏开发。
…
还有一些很差别,建议大家对着Camera的属性面板进行比对与分析。
2 如何基于URP渲染管线来实现多个摄像机
如何在场景中使用多个摄像机,首先我们创建一个base摄像机。base摄像机就是把Camera组件上的Render Type 设置为 Base。如图1.2-3所示:

(图1.2-3) URP Base摄像机配置


(图1.2-4) 创建Overlay摄像机

(图1.2-5) 将创建的Overlay摄像机放入Base摄像机的Stack中
最后多摄像机的绘制画面就能出现在屏幕上。如图1.2-6所示:

(图1.2-6) URP的多摄像机共存

今天的分享就到这里,关注我们,下一节剖析URP渲染管线的其它核心机制。
END
下节预告:基于URP渲染管线的光照机制剖析
Base-Overlay摄像机模式底层如何处理
URP光照计算引擎内部如何处理
...
更多的URP的底层性能分析,
边栏推荐
- 开源汇智创未来 | 2022开放原子全球开源峰会OpenAtom openEuler分论坛圆满召开
- Recursive implementation of the Tower of Hanoi problem
- $parent/$children and ref
- exsl文件预览,word文件预览网页方法
- Redis counts new and retained users
- SOLVED: After accidentally uninstalling pip (two ways to manually install pip)
- Port inspection steps - 7680 port analysis - Dosvc service
- Safety 20220718
- VScode+ESP32 quickly install ESP-IDF plugin
- STM32HAL library modifies Hal_Delay to us-level delay
猜你喜欢

npm、nrm两种方式查看源和切换镜像

已解决:不小心卸载pip后(手动安装pip的两种方式)

View source and switch mirrors in two ways: npm and nrm

MySQL数据库必会的增删查改操作(CRUD)

How Zotero removes auto-generated tags

The input input box displays the precision of two decimal places

"A daily practice, happy water problem" 1331. Array serial number conversion

从零开始,一镜到底,纯净系统搭建除草机(Grasscutter)
![[C language] General method of base conversion](/img/28/954af5f47a79ff02d3cc0792ac8586.jpg)
[C language] General method of base conversion

XSS靶场(三)prompt to win
随机推荐
STM32HAL库修改Hal_Delay为us级延时
Industry-university-research application to build an open source talent ecosystem | 2022 Open Atom Global Open Source Summit Education Sub-Forum was successfully held
递归实现汉诺塔问题
Fusion Cloud Native, Empowering New Milestones | 2022 Open Atom Global Open Source Summit Cloud Native Sub-Forum Successfully Held
(四)递归、可变参数、访问修饰符、理解 main 方法、代码块
Error EPERM operation not permitted, mkdir ‘Dsoftwarenodejsnode_cache_cacach两种解决办法
"DeepJIT: An End-To-End Deep Learning Framework for Just-In-Time Defect Prediction" paper notes
Win10 CUDA CUDNN installation configuration (torch paddlepaddle)
Redis uses sorted set to cache latest comments
(五)final、抽象类、接口、内部类
npm、nrm两种方式查看源和切换镜像
idea工程明明有依赖但是文件就是显示没有,Cannot resolve symbol ‘XXX‘
问题1:给你1-10的列表,实现列表输出,单数在左边,双数在右边。
[shell basics] determine whether the directory is empty
View source and switch mirrors in two ways: npm and nrm
专访 | 阿里巴巴首席技术官程立:云+开源共同形成数字世界的可信基础
Basic knowledge of mysql (2)
Gaussian distribution and its maximum likelihood estimation
高斯分布及其极大似然估计
PCL 计算点云坐标最值及其索引