Version: Unity 6.0 (6000.0)
语言 : 中文
选择渲染管线
渲染管线功能比较参考

选择渲染管线

在开发初期,为项目选择合适的 Unity 渲染管线非常重要。

不同的渲染管线具有不同的功能和性能特征,因此适用于不同的游戏、应用程序和平台。

将项目从一种渲染管线切换到另一种可能非常耗时,尤其是当项目开发已进行到后期时。不同渲染管线使用的着色器不同,所具备的功能也可能不一样。

下表显示了管线之间的一些关键差异,有助于在项目初期选择合适的渲染管线。

注意:不能同时使用通用渲染管线和高清渲染管线 (HDRP)。它们都是使用可编程渲染管线 (Scriptable Render Pipeline, SRP) 构建的,但它们的渲染路径和光照模型不同。

功能 通用渲染管线 (URP) 高清渲染管线 (HDRP) 内置渲染管线
目标用途 需要跨所有平台(尤其是基于图块的延迟渲染 (TBDR) 平台和不受限的 VR 平台)进行渲染可扩展性的项目。

需要扩展和自定义渲染管线的项目。

2D 和 3D 项目。
需要在高端平台上实现逼真和高保真渲染的项目

3D 项目
需要跨所有平台的渲染可扩展性的项目。

2D 和 3D 项目。
平台支持 支持所有 Unity 支持的平台

专注于基于图块的延迟渲染 (TBDR) 平台和不受限的 VR 平台的效率
支持桌面平台、Xbox 和 PlayStation 平台

专注于高效使用高级 GPU 硬件功能,例如异步计算着色器和光线追踪(如果硬件支持)。
支持所有 Unity 支持的平台
源代码访问 主要使用 C# 语言

在 GitHub 上公开访问 URP 源代码。还可以使用 URP 作为基础来创建自定义管线

与内置渲染管线相比,更易于阅读、修改和扩展
主要使用 C# 语言

可在 GitHub 上公开访问 HDRP 源代码。还可以使用 HDRP 作为基础来创建自定义管线

与内置渲染管线相比,更易于阅读、修改和扩展
主要使用 C++ 语言

通过购买源代码访问权限进行私有访问
管线扩展 管线提供 API 和注入点,也能修改公开的源代码

比内置渲染管线更容易扩展
管线提供 API 和注入点,也能修改公开的源代码

比内置渲染管线更容易扩展,但 HDRP 很复杂并具有高级功能,所以比 URP 难一些
管线提供 API 和注入点
通过美术师工具进行自定义 Shader Graph,可用于自定义着色、材质和屏幕空间效果

Built-in Particle System,可用于自定义视觉效果。有限的自定义

VFX Graph,可用于设计视觉效果,从简单的常见粒子行为到在 GPU 上运行的复杂模拟。
Shader Graph,可用于自定义着色、材质和屏幕空间效果

Built-in Particle System,可用于自定义视觉效果。有限的自定义

VFX Graph,可用于设计视觉效果,从简单的常见粒子行为到在 GPU 上运行的复杂模拟。
Shader Graph,可用于自定义着色、材质和屏幕空间效果

除了现有功能的错误修复之外,Shader Graph 不会收到内置渲染管线支持的更新

Built-in Particle System,可用于自定义视觉效果。有限的自定义
通过手动编码着色器进行自定义 您可以自定义源代码中的 HLSL 着色器和 URP 着色器 您可以自定义源代码中的 HLSL 着色器和 HDRP 着色器

建议仅向高级用户手动编码着色器,因为 HDRP 着色器很复杂并具有高级功能
HLSL 着色器和表面着色器
光照 专为逼真光照和风格化光照而设计

基础 PBR 和一些高级 PBR,例如透明涂层

对于像卡通渲染这样的自定义光照模型,更易于进行自定义
专注于逼真感和物理精准光照,内置对物理光单位的支持

基础和高级 PBR。例如透明涂层、皮肤、毛发、眼睛、次表面散射和水

高级的屏幕空间和体积效果

对于像卡通渲染这样的自定义光照模型,更难以进行自定义
专为逼真光照和风格化光照而设计

基础的基于物理的渲染 (PBR)

对于像卡通渲染这样的自定义光照模型,更易于进行自定义
性能 支持静态批处理动态批处理

使用可编程渲染管线 (SRP) Batcher 进行高级绘制调用批处理

BatchRenderer Group API 和 Entities 兼容
支持静态批处理

使用可编程渲染管线 (SRP) Batcher 进行高级绘制调用批处理

BatchRenderer Group API 和 Entities 兼容
支持静态批处理动态批处理

有关各渲染管线与哪些功能兼容的详细信息,请参阅渲染管线功能比较,有助于为项目选择正确的管线。

其他资源

选择渲染管线
渲染管线功能比较参考