• URP渲染管线实战教程系列 之URP渲染管线实战解密(一)


    URP渲染管线实战解秘(一)

    现在越来越多的手游开发都采用URP渲染管线,来代替之前Unity引擎默认的向前渲染管线,本节通过以下几个方面来阐述URP 渲染管线,对URP渲染管线有个全面认识。

    (1)为什么使用URP渲染管线;

    (2)如何创建一个URP渲染管线的项目;

    (3)基于URP渲染管线的全局配置

    对惹,这里有​ 一个游戏开发交流小组 ​,希望大家可以点击进来一起交流一下开发经验呀!

    1为什么使用URP渲染管线

     

    2 如何创建一个URP渲染管线的项目

    接下来我们使用Unity 2020.2.3f1 来创建一个URP渲染管线的项目,基于这个项目来学习URP。打开Unity Hub,选择新建项目会出现URP项目模板,如图 1.1-1所示:

    创建完成以后,我们就能看到一个标准的基于URP渲染的项目与开发环境(Packages下都有URP的渲染管线代码与Shader,项目目录下有一些URP相关的一些设置等。),基于这个环境来开发自己的项目与代码就可以了,其实和普通的没有什么差别。如图1.1-2:

    图1.1-2

    接下来从文件夹入手来分析一下URP的示例场景与项目的组织方式。实例场景给出了URP的几个重要部分,如图1.1-3:

    图1.1-3

    URP摄像机: Main Camera, 下面再写关于base摄像机与Overlay摄像机。

    主光源与附加光源:主光源是平行光,可以多个平行光叠加,附加光源再场景中部署

    如图1.1-4:

    图1.1-4

    画面的后期处理画面后期处理的控制,主要是渲染完成后针对,加一些后期的渲染效果,分为全局与局部模式,后面的教程再讲解。如图1.1-5所示:

    图1.1-5

    接下来看下URP项目文件夹,URP项目组织其实和普通的差不多,Packages下安装好了URP相关的依赖,在Assets下和普通的稍有不同,主要在于URP的配置文件,一起来看下。

    图1.1-6

    图1.1-7

    1.1-7中ExampleAssetsMaterials文件夹我们自己项目里面直接可以删除,到时候用项目的资源目录相关代替就可以了。Presets文件夹里面存放了一些全局的设定,一般带到项目就可以了。Scenes / Scripts文件夹存放场景与代码,和普通项目一样,可以随意删除与修改。Settings文件夹存放了渲染管线的配置文件相关如图1.1-8,不要删除。

    图1.1-8

    TutorialInfo文件夹项目中可以删除,没有任何实际的作用。

    图1.1-9

    URP渲染管线Shader相关都存放在这里,做项目开发的时候要使用基于URP的Shader,自己开发Shader也要符合URP的规范。

    3基于URP渲染管线的全局配置

    URP渲染管线的决定渲染关键性的全局配置参数在PipeLine的配置里面。如何打开全局配置,打开Project Settings窗口, 选择Graphics,如图1.1-10

    图1.1-10

    这里有光照,雾以及预加载的Shader以外,就是有一个Scriptable Render Pipeline Settings, 这里就是渲染管线的一些配置,而这个文件关联的就是项目中Settings文件夹中的设置,如图1.1-11所示:

    图1.1-11

    URP渲染管线的设置分成了3个等级,每个等级一个配置文件,分为:

    高渲染质量等级:UniversalRP-HighQuality

    中渲染质量等级: UniversalRP-MediumQuality

    低渲染质量等级:UniversalRP-LowQuality

    渲染设置的主要参数如下,如图1.1-12所示

    图1.1-12

    你可以根据手机的性能来切换渲染等级,从而在不同的性能手机上来在性能与效果之间获得很好的平衡。

    今天的分享就到这里,关注我们,下一节我们将会继续讲解解URP渲染管线实战教程。

    内容预告如下:

    (1)基于URP渲染管线的摄像机核心机制;

    (2)基于URP渲染管线的光照机制与实战;

    (3)基于URP渲染管线的Shader开发

    更多学习视频

  • 相关阅读:
    15日均线战法
    稻草熊娱乐股价再创新低:年内累计跌幅达80%,赵丽颖曾是其股东
    【MyBatis笔记09】MyBatis中常用的几个动态SQL标签
    Linux 禁止用户或 IP通过 SSH 登录
    简述@RequestParam与@RequestBody参数注解
    C++ Reference: Standard C++ Library reference: C Library: cctype: toupper
    RabbitMQ(三)【管理界面及授权操作】
    项目干系人管理的10个关键原则
    React - 基础学习
    Android开发基础——Activity生命周期
  • 原文地址:https://blog.csdn.net/weixin_49669470/article/details/126120506