首页 > 其他分享 >URP渲染管线实战教程系列3

URP渲染管线实战教程系列3

时间:2023-10-23 16:01:58浏览次数:28  
标签:教程 渲染 光源 Shader URP 光照 管线

1.3 URP渲染管线光照核心机制剖析

 

上一节通过剖析URP 摄像机了解摄像机的机制,本节来分析URP的光照的主要机制,并通过与内置的向前渲染管线做对比,来比较它们的与不同。

 

 

1: URP渲染管线重新定义了光源

 

不出意外,UPR渲染管线重新定义了光源组件, 接下来看下相比向前渲染管线摄像机机制的核心变化,如图1.3-1与1.3-2对比

 

 

 

先来讲URP光源的几个核心变化:

(1) 采用主光源MainLight+附加光源 Additional Lights模式,代替向前渲染管线里面的Import光源与No Import光源。主光源只能是平行太阳光,Additional Light可以是其它类型的光源。游戏引擎把所有主光源的颜色值叠加好以后,传递给URP的Shader,把所有Additional Lights的光源数据传递给 URP的Shader, URP Shader 获取光源数据,用来做光照计算,来着色, 而向前渲染管线是每个重要光源经过一次pass计算,来叠加到最后得颜色,这样做得有点是可以任意数目的光源与光照计算,缺点是多次绘制性能受影响。相反URP 是一次pass, 处理多个光源, 但是支持的光源的数目不是任意的,当然对于做手机游戏来说这点可以打破,正是打破了这一点,使得很多手机游戏开始用URP了。Additional Light的数目URP做了”Per Object Limit”限制,如图1.3-3

 

 

传统渲染管线,采用是逐顶点光照,还是逐像素光照,都是由Shader的实现来决定,而URP把这个开关放到了光源这边,这样方便我们进行响应的配置与调整。

(1) URP 和普通模式向前渲染管线一样,可以支持静态光照与烘培,用法一致。

(2) URP 渲染管线的光照策略,在有限光源数目前提下相比传统的获得更好的性能和更容易配置的选项。

还有一些差别,后续还可以结合URP Shader讲解来进一步体会。

 

2: URP Shader中如何获取 URP渲染管线中的光源

  光照上色的本质就是,渲染Shader拿到光照的数据,根据光照计算,最后决定片元的颜色,上色到屏幕中。URP渲染管线中游戏引擎通过CPU把光源数据传递给GPU,GPU就可以获取到,在URP渲染管线中,Shader库把它封装成了特定的Shader API函数,如下:

   URP Shader获取主光源数据:GetMainLight

   URP Shader 获取附加光源数据: GetAdditionalLightsCount/ GetAdditionalLight

 

这里截图了URP PBR Shader中的代码如何获取光源数据,一次性完成光照计算,如图1.3-5:

 

 

标签:教程,渲染,光源,Shader,URP,光照,管线
From: https://www.cnblogs.com/rainy1unity/p/17782665.html

相关文章

  • URP渲染管线实战教程系列2
    1.2 URP渲染管线摄像机核心机制剖析 上一节从项目的目录结构与示例场景的内容分析了UPR渲染管线项目的基本组成,接下来分析URP的主要机制,并通过与内置的向前渲染管线做对比,来比较它们的与不同。按照先后顺序本节首先来分析URP渲染管线的摄像机的策略。  1:URP渲染管线重......
  • URP渲染管线实战教程系列1
    1.1 URP渲染管线实战解密(一) 现在越来越多的手游开发都采用URP渲染管线,来代替之前Unity引擎默认的向前渲染管线,本节通过一下几个方面来阐述URP渲染管线,对URP渲染管线有个全面认识。 (1)为什么使用URP渲染管线;(2)如何创建一个URP渲染管线的项目;(3)基于URP渲染管线的......
  • 无涯教程-Clojure - 文件I/O
    使用I/O时,Clojure提供了许多辅助方法。读取文件(Readingfiles)写入文件(Writingtofiles)查看文件是文件还是目录让我们探讨Clojure提供的一些文件操作。读取内容如果要以字符串形式获取文件的全部内容,可以使用clojure.core.slurp方法。slurp命令打开文件并读取其所有......
  • AutoCAD2023软件安装教程及安装包下载
    由“Autodesk”公司研发推出的AutoCAD202364位简体中文版已于2022年3月已经正式发布,AutoCAD是一款全球领先的计算机辅助设计(CAD)软件,全新的2023版本拥有着非常强大的渲染、绘图和三维打印功能,还提供了动态块、文本设定、数据提取、三维导航、截面平面、DWG比较、云存储连接......
  • 草图大师(SketchUp)2022安装图文教程
    草图大师(SketchUp)是一个非常受欢迎并且易于使用的3D设计软件,它被比喻为电子设计中的“铅笔”。它的主要特点就是使用简便,人人都可以快速上手。并且可以将使用SketchUp创建的3D模型直接输出至GoogleEarth里。下载草图大师2022版并解压缩【rjqjf.com】二、双击进入解压缩后的“草图......
  • AutoCAD Civil3D 2023安装图文教程及下载
    Civil3D设计软件是土木工程师的首选软件,也是民用大众领域的综合解决方案,同时Civil3D提供了AutoCAD和AutoCADMap3D的功能,该软件使用基于模型的环境,以便做出更好的设计决策并提高项目质量,通过以设计为导向的计划生产方法简化文档编,利用BIM(建筑信息模型)的强大功能,实现更好的设计......
  • Autodesk 3ds Max 2023安装图文教程及下载
    Autodesk3dsMax202364位版本由Autodesk公司于2022年3月推出,它是一款著名的建模、渲染和动画软件,3dsMax软件是创建沉浸式游戏体验和可视化复杂设计的首选工具。首先我们看一下Autodesk3DMax2023软件对系统的要求:安装步骤:1、本机安装环境:2、下载安装包【rjqjf.com】3、我下载到......
  • 从零用VitePress搭建博客教程(6) -– 第三方组件库的使用和VitePress搭建组件库文档
    接上一节:从零用VitePress搭建博客教程(5)-如何自定义页面模板、给页面添加独有的className和使页面标题变成侧边目录?九、第三方组件库的使用我们经常看见UI组件库的文档,这里我们就用element-plus第三方组件库为例子,搭建组件库文档examples:作为组件库示例目录,我们以Button组件......
  • 【2023最新教程】有道翻译js 超详细!!!
    目录前言确定加密字段破解加密字段加密字段实现破解返回值跟踪堆栈找到解密后的返回值函数实现解密返回值语言转换完整代码效果展示前言有道翻译两个加密第一个是表单的sign用MD5加密可以点击目录的加密字段实现直接跳转第二个是返回值AES加密,而且AES的密匙他还用md5加......
  • 基于SSM框架的航班购票系统运行教程
    @目录1、前期必备1.1、所需软件版本说明1.2、下载源码1.3、下载开发工具1.4、下载Tomcat1.5、下载JDK并配置环境变量1.6、安装数据库和数据库管理工具1.7、安装配置Maven1.8、下载安装Redis2、将SQL文件导入到数据库2.1、新建MySQL连接2.2、新建数据库并导入SQL3、Eclipse配置Mave......