Unity学习 渲染管线介绍

b02157ea9fe84ba48a6ac6c0d06887ae.png

SRP:(Scriptable Render Pipeline,可编程渲染管线/脚本化渲染管线),可以在Unity通过C#脚本调用API配置或执行渲染命令的方式来实现渲染流程,SRP将这些命令传递给Unity底层图形体系结构(low-level graphics architecture),然后再将指令发送给图形API(Graphics API),最终由GPU进行处理,SRP 技术可以强化通用渲染管线 (URP) 和高清渲染管线 (HDRP)。

URP和HDRP建立在SRP之上。您还可以在 SRP 之上创建自己的自定义渲染管线。

URP:Universal Render Pipeline(通用渲染管线)。Unity官方基于SRP提供的模板制作的预构建的可编程渲染管线。它的前身是LWRP(Lightweight Render Pipeline 轻量级渲染管线),在2019.3版本开始改名为URP,它适用于不同的平台,是针对跨平台开发而构建的,性能比内置管线要好。(注:内置渲染管线是unity的默认渲染管线)另外可以进行自定义,实现不同风格的渲染,通用渲染管线未来将成为在Unity中进行渲染的基础 。

特点:可以在Unity支持的各种平台上使用

具体有关URP的详细介绍请参考以下链接中URP官方文档介绍。

Universal Render Pipeline overview | Universal RP | 12.1.10 (unity3d.com)https://docs.unity3d.com/Packages/com.unity.render-pipelines.universal@12.1/manual/index.html

HDRP:它的全称为High Definition Render Pipeline(高清渲染管线),它也是Unity官方基于SRP提供的模板,它更多是针对高端设备,如游戏主机和高端台式机,它更关注于真实感图形和渲染。HDRP 利用基于物理的光照技术、线性光照、HDR 光照和可配置的混合平铺/群集延迟/前向照明架构。它为您提供了创建应用程序(如游戏、技术演示和动画)所需的工具,以达到高图形标准。

该管线仅于以下平台兼容:

  • Windows和Windows Store,带有DirectX 11或DirectX 12和Shader Model 5.0

  • 现代游戏机(Sony PS4和Microsoft Xbox One)

  • 使用金属图形的MacOS(最低版本10.13)

  • 具有Vulkan的Linux和Windows平台

【注】使用 HDRP 制作的项目与通用渲染管线 (URP) 不兼容。因此,在开始开发之前,您必须决定项目使用哪个渲染管线。同时,HDRP 功能在 HDRP 和 URP 之间不交叉兼容。

HDRP官方介绍文档如下

高清渲染管线概述 |高清 RP |12.1.10 (unity3d.com)https://docs.unity3d.com/Packages/com.unity.render-pipelines.high-definition@12.1/manual/index.html

接下来主要介绍URP,通用渲染管线

(1)如何创建一个含有URP的项目:

方法1:

在Unity Hub中创建新的项目时,可选择包含URP模板的2D或3D项目

方法2:

在未包含URP模板的项目中添加URP,在包管理器(package manager)中找到Universal Render Pipeline数据包,点击安装,这样就能创建URP配置文件了。

接着在项目(project)栏中选择:创建-渲染-URP 配置文件(带通用渲染器),创建完之后转到项目设置(project setting)中,在图形(grapics)中,将渲染管道设为创建好的渲染管线,在质量(Quality)处,将渲染管线资源也设为创建好的渲染管线。这样就在项目中添加了URP。

注:在导入素材后,可能也需要将素材升级为URP,在窗口-渲染-渲染管线转换器处,选择Built-in to URP位置,可将素材升级为URP素材。

(2)URP介绍

1,渲染

URP包含以下两种渲染器:

  • 通用渲染器

  • 2D渲染器

通用渲染器介绍:

查找通用渲染器资源:找到URP Asset,在渲染器列表可以看到通用渲染器,点击可以跳转到对应的通用渲染器下。

ab365b3760c8418abbbb5884ccf0c9b6.png

 通用渲染器属性介绍:

a181432457d7406bb1a56bc02aff6cc3.png

 其中部分属性介绍:

过滤:

 描述
不透明遮罩选择此渲染器的不透明图层
透明遮罩选择此渲染器的透明图层

渲染:

渲染路径可设为正向渲染或延迟渲染

深度引动模式:设置unity何时执行深度启动。深度启动可以可以通过减少像素着色器执行次数来改进 GPU 帧计时。

渲染通道(RenderPass):设置是否使用原生渲染通道。注意:启用此属性对 OpenGL ES 没有影响。

阴影:设置是否在透明对象上绘制阴影

2D渲染器介绍:2D渲染器在Unity 2021.2.0b1或更高版本开始使用2D渲染器,在创建2D项目时,可选择使用URP的2D项目(类似方法参考3D项目中添加URP),这样就可以在项目中使用类似3D项目中的URP资源了。

2,后处理效果实现:

在新项目中配置后处理效果的步骤如下:

首先选择主摄像机,在渲染位置将后处理(Post Processing)打开

68be76e0e031458faa2b294bffbc7939.png

之后选择GameObject > Volume > Global Volume.,创建一个全局的volume对象,并在其中新建一个配置文件(Profile)

ceb78f3985654a9184acac6ef49399e6.png

 添加完配置文件后,点击添加覆盖就可在其中添加一些后处理的效果,例如下图中的泛光,色差等效果。

c19300d386194d6e9036c86a64e80da5.png

 

 

 

 

 

 

 

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
深入学习Unity Shader,学习图形学知识和URP渲染管线,可以按照以下步骤进行: 1. 学习基础知识:首先,了解图形学的基本概念和原理,包括光照、阴影、纹理映射等。可以阅读相关的图形学教材或者在线资源,掌握相关的数学知识,如向量、矩阵等。 2. 学习Shader语言:Unity使用的是一种类似于C的着色器语言,称为ShaderLab。学习ShaderLab语言,并了解Unity Shader的基本语法和结构是非常重要的。可以参考Unity官方文档和教程,也可以寻找一些书籍或在线教程来学习。 3. 实践编写Shader:通过实践编写自己的Shader来加深对Shader语言的理解和应用。可以从简单的表面着色器开始,逐步探索更复杂的效果,如法线贴图、镜面反射等。可以参考Unity官方文档中的示例和教程,也可以寻找一些开源的Shader代码来学习。 4. 学习URP渲染管线:URP(Universal Render Pipeline)是Unity提供的高性能、可定制的渲染管线学习URP渲染管线可以帮助你理解渲染过程和优化技术。可以阅读Unity官方文档中关于URP的介绍和教程,也可以参考一些社区资源和教程。 5. 参考资源:除了官方文档和教程外,还可以参考一些优秀的书籍、博客和视频教程来加深对Unity Shader和图形学知识的理解。一些推荐的资源包括《Unity Shader入门精要》、《Unity Shader之高级进阶》、CSDN博客等。 记住,学习Shader和图形学是一个需要不断实践和探索的过程,通过不断尝试和学习,你会逐渐掌握这些知识并且提升自己的技能。祝你学习顺利!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值