Files
nexus/wiki/concepts/URP.md
2026-05-03 05:42:12 +08:00

2.5 KiB
Raw Blame History

title, type, tags, sources, last_updated
title type tags sources last_updated
URP (Universal Render Pipeline) concept
game-dev
rendering
unity
pipeline
unity-shader-graph-artist
2026-05-01

Aliases

  • Universal Render Pipeline
  • URP
  • LWRPLegacyURP 前身)

Definition

URPUniversal Render Pipeline通用渲染管线是 Unity 的可编程渲染管线,取代了旧版 Built-in 渲染管线。专为跨平台PC/Console/Mobile/VR设计通过 Shader Graph 和 Scriptable Renderer Feature 实现灵活的渲染效果定制。相比 HDRP 更轻量,适合需要多平台支持的项目。

Core Architecture

ScriptableRendererFeature 系统

URP 自定义通道的核心扩展点:

// 必须使用 ScriptableRendererFeature + ScriptableRenderPass
public class MyRendererFeature : ScriptableRendererFeature
{
    public override void Create() { _pass = new MyRenderPass(); }
    public override void AddRenderPasses(ScriptableRenderer renderer, ref RenderingData renderingData)
        => renderer.EnqueuePass(_pass);
}

public class MyRenderPass : ScriptableRenderPass
{
    public override void Execute(ScriptableRenderContext context, ref RenderingData renderingData)
        { /* 自定义渲染逻辑 */ }
}

关键约束

  • 禁止使用 OnRenderImageBuilt-in only
  • Shader Graph 必须设置正确的 URP Render Pipeline Asset
  • URP 图形无法直接在 HDRP 中工作,需要 Porting

与 HDRP 的核心区别

特性 URP HDRP
目标平台 PC/Console/Mobile/VR PC/Console高端
渲染质量 中等-高 极高(物理光照/光线追踪)
自定义通道 API ScriptableRendererFeature CustomPassVolume
API 兼容性 不兼容 HDRP 不兼容 URP

Shader Graph in URP

  • Shader Graph 是 URP 材质创作的首选工具
  • 节点自动映射到 URP 的光照模型
  • 必须使用 Sub-Graph 封装可复用逻辑
  • 暴露参数必须设置 Blackboard tooltip

Performance

平台 Fragment Pass 纹理采样上限 ALU 上限
Mobile ≤ 32 次/Fragment Pass ≤ 60 条/不透明 Fragment
PC/Console 无硬性上限,但 Frame Debugger 审计

Connections