Unity URP渲染管线

Unity URP渲染管线

一、什么是渲染管线?

  • 渲染管线执行一系列操作来获取场景的内容,并将这些内容显示在屏幕上。概括来说,这些操作如下: 剔除、渲染、后期处理。
  • 不同的渲染管线具有不同的功能和性能特征,并且适用于不同的游戏、应用程序和平台。将项目从一个渲染管线切换到另一个渲染管线可能很困难,因为不同的渲染管线使用不同的着色器输出,并且可能没有相同的特性。因此,必须要了解Unity 提供的不同渲染管线,以便可以在开发早期为项目做出正确决定。

二、渲染管线分类?

  • 内置渲染管线是 Unity 的默认渲染管线。这是通用的渲染管线,其自定义选项有限。
  • 通用渲染管线 (URP) 是一种可快速轻松自定义的可编程渲染管线,允许您在各种平台上创建优化的图形,这种现在项目中比较常见。
  • 高清渲染管线 (HDRP) 是一种可编程渲染管线,可让您在高端平台上创建出色的高保真图形。HDRP 一般用于 AAA 级高品质游戏、汽车演示、建筑应用以及任何需要高保真图形的应用。HDRP 使用基于物理的光照和材质,并且支持前向渲染和延迟渲染。HDRP 使用计算着色器技术,因此需要兼容的 GPU 硬件。
  • 可以使用 Unity 的可编程渲染管线 API 来创建自己的自定义渲染管线。

三、使用步骤

1.新建项目

  • 打开Unity Hub,选择新建项目会出现URP项目模板
    在这里插入图片描述

2.将原有Unity项目从内置转为通用渲染管线

  • 升级现有的内置渲染管线项目时,需要为项目添加 URP 资源包(URP package)
    在这里插入图片描述

  • 右击项目(Project)窗口并选择创建(Create)> 渲染(Rendering)> Universal Renderer PIipeline > Pipeline Asset(Forward Render)。
    在这里插入图片描述 - URP 创建后是两个文件,每个文件都有一个资源扩展名。
    在这里插入图片描述

  • 编辑(Edit)> 项目设置(Project Settings),打开图形(Graphics)面板。点击无(渲染管线资源)(None (Render Pipeline Asset))旁的小圆点。在打开的面板中,选择通用 RP(UniversalRP)。
    在这里插入图片描述

  • 这个时候点击Main Camera 在Inspector面板中即可查看URP渲染管线
    在这里插入图片描述

四、如何使用URP渲染管线提高画质

在Unity中使用URP(Universal Render Pipeline)提升渲染质量,可以通过以下步骤进行:

1、 使用高质量的纹理和材质

  • 确保使用的纹理分辨率足够高,且材质设置得当,以提升视觉效果。

2、优化光照设置

  • 使用高质量的光照,如实时全局光照(Global Illumination),并合理设置光源参数,如阴影质量、光照强度等。

3、使用后处理效果

  • URP支持多种后处理效果,如Bloom(泛光)、Color Grading(色彩校正)、Depth of Field(景深)、Anti-aliasing(抗锯齿)等,合理使用这些效果可以显著提升画面质量。

4、启用动态分辨率

  • 动态调整游戏的渲染分辨率,可以在保持较高帧率的同时,尽可能提升画面质量。

5、优化Shader

  • 使用或编写高效的Shader,减少不必要的计算,同时利用Shader特性提升视觉效果。

6、使用Mesh LOD(Level of Detail)

  • 通过设置不同的细节级别,根据物体与摄像机的距离动态调整渲染的复杂度,以提升性能和视觉效果。

7、调整URP资产设置

在URP资产(UniversalRP)中,可以调整各种渲染设置,如阴影距离、阴影质量、抗锯齿类型等,根据项目需求进行优化。

  • 打开URP资产文件:在项目的Assets目录中找到URP资产文件(通常是一个有URP图标的.asset文件),双击打开它。
    在这里插入图片描述
  • 调整渲染设置:
    Quality(质量):可以设置渲染缩放比例(Render Scale)、HDR、MSAA(多重采样抗锯齿)等。
    Lighting(光照):可以设置全局光照模式、环境光源、反射探针更新频率等。
    Shadows(阴影):可以调整阴影距离、阴影解析度、阴影类型等。
    Post-processing(后处理):可以启用或禁用内置的后处理效果,并进行相应配置。
    这里着重说一下Quality(质量)参数对渲染的影响。
  • 在这里插入图片描述

使用代码或者手动调整设置调整渲染的缩放比例、调整多重采样抗锯齿(MSAA)的样本数量效果如下:

//内存小于4个G不建议把 Quality参数调为最高
if (SystemInfo.systemMemorySize < 4096)
    return;
UniversalRenderPipelineAsset urpAsset = GraphicsSettings.renderPipelineAsset as UniversalRenderPipelineAsset;
 //这里将画质调为最高
urpAsset.renderScale = 2.0f;
urpAsset.msaaSampleCount = 8;

调整前:
在这里插入图片描述
调整后:
在这里插入图片描述

  • Post-processing(后处理):可以启用或禁用内置的后处理效果,并进行相应配置
    在这里插入图片描述

8、使用更高级的渲染特性

  • 如反射探针(Reflection Probes)、光照探针(Light Probes)和遮挡剔除(Occlusion Culling)等,合理利用这些特性可以提升渲染效果和性能。

9、性能优化

  • 通过Profiler工具分析性能瓶颈,合理优化,确保在提升画面质量的同时,保持良好的运行性能。

五、总结

内置渲染管线(Built-in Render Pipeline):

  • 特点:这是Unity最早提供的渲染管线,特点是兼容性好,适用于多种平台和设备。它提供了一套预设的渲染路径(Forward和Deferred),但自定义能力有限。
  • 应用场景:适用于对性能要求不是特别高的中小型项目,或者需要兼容旧设备和操作系统的项目。

通用渲染管线(Universal Render Pipeline,URP):

  • 特点:URP是一个高度可定制的渲染管线,旨在为移动设备、VR和平台游戏提供优化的性能和可扩展性。它支持快速迭代和开发,同时保持较高的图形质量。
  • 应用场景:适用于需要在多平台上运行,且对性能有一定要求的项目,包括移动游戏、VR/AR体验和独立游戏。

高清渲染管线(High Definition Render Pipeline,HDRP):

  • 特点:HDRP专为需要高保真图形的项目设计,支持先进的图形技术,如实时光线追踪(Ray Tracing)。它提供了更高级的材质、光照和影响效果,但对硬件要求较高。
  • 应用场景:适用于追求极致图形表现的项目,如高端PC和主机游戏、影视预渲染和模拟训练。

Scriptable Render Pipeline(SRP):

  • 特点:SRP是一个允许开发者自定义渲染管线的框架。URP和HDRP都是基于SRP构建的。通过SRP,开发者可以根据项目的具体需求,创建专属的渲染管线。
  • 应用场景:适用于需要高度定制渲染过程的高级用户和大型项目,允许开发者根据特定需求优化渲染效果和性能。

选择哪种渲染管线,主要取决于项目的需求、目标平台和性能预算。通常,URP是一个平衡性能和图形质量的好选择,而HDRP适用于追求最高图形质量的项目。内置渲染管线则适用于兼容性要求高的项目。如果有特殊需求,也可以考虑使用SRP自定义渲染管线。

  • 23
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值