• Unity URP渲染管线摄像机核心机制剖析


    前言

    上一节从项目的目录结构与示例场景的内容分析了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的底层性能分析,

  • 相关阅读:
    Python实用技术二:数据分析和可视化(2)
    异常处理之EnhancedServiceNotFoundException
    OpenCV 07(图像滤波器)
    毕业设计2349基于jsp的网上订餐系统【程序源码+文档+调试运行】
    OpenAI开发者大会之后,当何去何从?
    Linux使用netstat查看网络状态
    Javaweb之javascript的详细解析
    java毕业设计电力公司员工安全培训系统Mybatis+系统+数据库+调试部署
    【机试题】两个链表相减,并以相同形式返回一个表示相减结果的链表
    Kotlin 伴生对象(companion object) VS 包函数
  • 原文地址:https://blog.csdn.net/voidinit/article/details/125993003