文章目录
- 前言
- 一、渲染管线相关知识
- 1、什么是渲染管线(Render Pipeline)?
- 2、渲染管线的历史背景
- 3、什么是 Scriptable Render Pipeline(SRP)?
- 4、Unity三种渲染管线
- 4.1 **内置渲染管线(Built-in Render Pipeline)**
- 4.2 **通用渲染管线(Universal Render Pipeline,简称 URP)**
- 4.3 **高清渲染管线(High Definition Render Pipeline,简称 HDRP)**
- 总结
- 5、**为什么 Unity 6 开始推荐使用 URP?**
- 6、**如何选择渲染管线?**
- 7、总结
- 二、Unity7版本前瞻URP 和 HDRP合并
- 三、内置渲染管线项目转换为URP项目
- 专栏推荐
- 完结
前言
前面新建项目时我们可以看到,unity提供了很多的模板。
在创建新项目时,看到这么多项目类型,你可能有点懵了,应该选择哪一个呢??
示例模板包括一些示例的场景,学习模板则是一个完整的项目。感兴趣可以自己创建打开看看运行看看效果。
我们主要关注的是核心模板(空项目)里的Universal
、High Definition
和下面的Built-in Render Pipelin
的项目模板
其实这三种项目模板分包就对应unity的三种渲染管线
- Built-in Render Pipelin:内置渲染管线(Built-in Render Pipeline)
- Universal:通用渲染管线(Universal Render Pipeline,简称 URP)
- High Definition:高清渲染管线(High Definition Render Pipeline,简称 HDRP)
一、渲染管线相关知识
1、什么是渲染管线(Render Pipeline)?
每一帧,Unity都会将你的世界绘制到屏幕上。为了实现这一点,Unity执行一个被称为渲染的动作。Unity基于一系列的任务来进行这个渲染,这一系列的任务就称为渲染管线。
渲染管线收集了关于你场景的所有信息,然后执行一系列步骤,将这些内容绘制成一幅画面,以便在你的屏幕上显示。
你的游戏循环控制场景中发生的行为,而渲染管线则控制其外观。
在计算机图形学中,渲染管线(Render Pipeline)是指从 3D 场景的几何数据(例如物体、光照、材质等)到最终显示在屏幕上的图像的整个过程。这个过程包括了 顶点处理、光照计算、阴影处理、材质和纹理贴图应用、后期处理 等多个阶段。
每个阶段的操作都是由图形硬件(如 GPU)和软件(如 Unity)共同完成的。不同的渲染管线会影响这些处理过程的具体实现方式,从而决定游戏或应用的渲染效果、性能以及灵活性。
2、渲染管线的历史背景
在 Unity 中,渲染管线 (Render Pipeline) 这一概念是通过 Scriptable Render Pipeline (SRP) 引入的。最初,Unity 提供了 内置渲染管线,这个渲染管线是较为固定的,但随着开发者需求的增长,Unity 开始开发了两个主要的 SRP:高清渲染管线(HDRP) 和 轻量渲染管线(LWRP),后者在 Unity 2020 之后改名为 URP(Universal Render Pipeline)。
3、什么是 Scriptable Render Pipeline(SRP)?
Scriptable Render Pipeline(SRP) 是 Unity 提供的一种新的渲染架构,允许开发者用代码自定义渲染流程。传统的 Unity 渲染管线(内置渲染管线)是“固定”的,也就是说,Unity 内部处理了所有的渲染细节,开发者只能在一定程度上调整。但 SRP 提供了更大的灵活性,开发者可以完全控制渲染的各个阶段。
通过 SRP,Unity 允许开发者根据项目需求自行编写渲染流程代码,从而定制化渲染过程、增加独特的渲染效果或优化性能。
SRP 的核心优势:
- 灵活性:开发者可以完全控制每个渲染阶段的行为,如如何处理物体的绘制、光照、阴影等。
- 可定制性:开发者可以根据具体需求,增加新的渲染特效或修改渲染管线的逻辑。
- 性能优化:SRP 允许开发者根据目标平台的性能特点进行优化,针对不同的设备做专门的调整。
Unity 为了简化开发,基于 SRP 实现了几个预定义的渲染管线,其中最著名的就是 URP(通用渲染管线) 和 HDRP(高清渲染管线)。
- URP 是一种基于 SRP 的渲染管线,适用于多种平台,强调性能优化。
- HDRP 也是基于 SRP 的渲染管线,适用于高端平台,强调图形质量和真实感。
4、Unity三种渲染管线
4.1 内置渲染管线(Built-in Render Pipeline)
内置渲染管线是 Unity 引擎的传统渲染管线,它自从 Unity 很早的版本就存在了,基本上没有太多变化。它适合一些老旧的项目或简单的游戏开发。
- 特点:使用起来简单直接,不需要很多配置。
- 缺点:没有现代化的图形特效,性能和效果的优化都有限。不能利用 Unity 中的一些新特性,比如光照和材质的高度自定义。
4.2 通用渲染管线(Universal Render Pipeline,简称 URP)
URP 是 Unity 推出的一个现代化的渲染管线,它比内置管线有更多的优化和效果,特别是在移动设备、虚拟现实(VR)和增强现实(AR)等平台上表现优秀。
-
特点:
- 支持更高效的图形渲染,优化了性能。
- 适用于移动设备、VR、AR、低端设备等,能够在保证较好视觉效果的同时提高游戏的帧率。
- 提供一些现代的图形效果,比如光照、阴影、后期处理等。
- 支持 Scriptable Render Pipeline,可以让开发者定制渲染过程,增加更多自定义特效。
-
优点:
- 性能优化,适用于各种平台(尤其是移动端和低端设备)。
- 更灵活的渲染方式,允许开发者对渲染过程进行更多的控制。
4.3 高清渲染管线(High Definition Render Pipeline,简称 HDRP)
HDRP 是专门为高端平台(如 PC 和主机)设计的渲染管线,它提供了非常先进的图形效果,支持现代光照技术、高清材质、阴影等高质量的视觉效果。
-
特点:
- 适用于高性能设备和 PC 游戏。
- 支持 光线追踪(Ray Tracing),提供更真实的光照、反射和阴影。
- 提供高质量的后期处理效果,如色彩校正、景深等。
- 可以模拟现实世界中的光照反射(例如 全局光照)和更复杂的材质。
-
优点:
- 提供非常真实的视觉效果,适合高端游戏和应用。
- 适合 PC 和次世代主机(如 PS5、Xbox Series X)。
总结
特性 | 内置渲染管线 | URP | HDRP |
---|---|---|---|
目标平台 | PC、控制台、移动设备 | 移动端、VR/AR、低端设备 | 高端 PC、次世代主机 |
性能优化 | 较弱 | 优化良好,适应低端设备 | 高性能设备需求,较低的性能优化 |
渲染质量 | 基本的图形效果 | 中等图形效果 | 高质量图形,支持光线追踪和高级材质 |
灵活性 | 低(很难定制) | 高(支持 SRP) | 高(支持 SRP) |
适用场景 | 小型项目或老项目 | 现代移动游戏、VR/AR 游戏 | 3A PC 游戏、高端图形应用 |
不同渲染管线支持的平台
更加详细的其他区别可以查看官方文档:渲染管道特征比较参考
5、为什么 Unity 6 开始推荐使用 URP?
其实以往版本,unity一直默认推荐是使用内置渲染管线,从unity6开始,可以看到unity默认安装且推荐的是使用URP项目。我觉得原因有以下几点:
-
跨平台优化:URP 是跨平台的,支持从手机到高端 PC 的设备。它通过对性能的优化,能在不同硬件上提供更稳定的运行。
-
现代图形效果:相比内置管线,URP 提供了更多现代化的图形特效,像是实时光照、阴影、后期处理等,这些能提升游戏画面的质量。
-
灵活性:URP 是基于 Scriptable Render Pipeline(SRP)构建的,开发者可以更容易地定制渲染管线,添加自定义效果。
-
性能与效果平衡:URP 提供了一种较好的性能和效果的平衡,特别适合需要在性能较差设备上运行的游戏,例如手机游戏、VR/AR 项目。
-
Unity未来的重点:Unity 宣布将长期支持 URP,并且很多新功能和更新都将围绕 URP 进行。相比之下,内置渲染管线逐渐被边缘化,Unity 鼓励开发者转向更现代化的 URP 或 HDRP。
6、如何选择渲染管线?
-
URP渲染管线的主要优势在于其性能。URP具有较低的渲染负担和较好的性能表现,适用于大多数项目它还提供了许多轻量级的着色器和功能,支持移动设备、主流和较旧的硬件平台。对于许多开发者来说,URP更容易上手和调试,适用于大多数项目的需求。如果你是新手,建议你无脑选择使用 URP。URP也是unity未来发展的趋势。
-
如果你正在维护一个老旧的项目,或者已经使用内置渲染管线的项目,且没有特殊的需求,依然可以继续使用内置管线,但 Unity 会鼓励你向 URP 转型。
-
游戏开发中HDRP就是屎。HDRP虽然提供了高质量的视觉效果、支持高级光照模型和材质类型,但其资源需求量大、对硬件要求高、所涉及的技术复杂性等原因,导致实际项目应用较少
7、总结
- URP:适合大多数开发者,提供平衡的性能和效果,支持移动设备、VR、AR 和低端设备。
- HDRP:适合需要高清图形和高级效果的 PC 或主机游戏,支持光线追踪等高端特效。
- 内置渲染管线:适合老旧项目,但不推荐新项目使用。
如果你是新手,建议从 URP 开始学习,因为它更现代、灵活,适用于大部分开发场景,同时也是 Unity 官方推荐的未来发展方向。
二、Unity7版本前瞻URP 和 HDRP合并
视频:Unity7版本前瞻➡️URP 和 HDRP合并
随着技术的发展和 Unity 用户的需求变化,Unity 渐渐意识到,尽管 HDRP 和 URP 都提供了相对独立的渲染管线,但是它们的目标受众存在交集,而两者间的差异有时也带来了一些不必要的复杂性。
如果 Unity 确实计划在未来的版本中合并渲染管线,这一举措有可能为开发者带来更加简化、统一的开发体验,并为未来的技术创新提供更多的空间。特别是对于那些跨平台开发的项目,合并管线将减少不必要的切换和兼容性问题。然而,在这一过程中,也会有过渡期的问题,需要开发者适应新的工作流程和工具。
总的来说,如果你正在开发一个新的 Unity 项目,且打算长期使用 Unity 的渲染管线,建议关注 Unity 官方文档和更新,确保了解如何在合并后的管线中高效工作。
三、内置渲染管线项目转换为URP项目
如果你创建的项目是普通的内置渲染管线项目,如果想要后期升级为URP项目其实也是可以的。
参考:【unity小技巧】为啥我们的模型材质显示粉色?unity普通项目升级URP项目
专栏推荐
地址 |
---|
【从零开始入门unity游戏开发之——C#篇】 |
【从零开始入门unity游戏开发之——unity篇】 |
【制作100个Unity游戏】 |
【推荐100个unity插件】 |
【实现100个unity特效】 |
【unity框架开发】 |
完结
赠人玫瑰,手有余香!如果文章内容对你有所帮助,请不要吝啬你的点赞评论和关注
,你的每一次支持
都是我不断创作的最大动力。当然如果你发现了文章中存在错误
或者有更好的解决方法
,也欢迎评论私信告诉我哦!
好了,我是向宇
,https://xiangyu.blog.csdn.net
一位在小公司默默奋斗的开发者,闲暇之余,边学习边记录分享,站在巨人的肩膀上,通过学习前辈们的经验总是会给我很多帮助和启发!如果你遇到任何问题,也欢迎你评论私信或者加群找我, 虽然有些问题我也不一定会,但是我会查阅各方资料,争取给出最好的建议,希望可以帮助更多想学编程的人,共勉~