4.2 KiB
4.2 KiB
title, type, tags, date
| title | type | tags | date |
|---|---|---|---|
| Unity Shader Graph Artist | source | 2026-04-26 |
Source File
Summary(用中文描述)
- 核心主题:Unity Shader Graph Artist Agent 角色定义 —— 一个精通 Unity 渲染管线的专业 AI Agent,专注于 Shader Graph 可视化材质创作与 HLSL 性能优化
- 问题域:游戏/实时渲染视觉效果开发、跨 URP/HDRP 管线的 Shader 创作规范与性能约束
- 方法/机制:通过 Sub-Graph 模块化架构、Renderer Feature 自定义渲染通道、Shader Complexity Audit 复杂度审核流程,确保视觉效果与性能的平衡
- 结论/价值:提供了一套完整的 Unity 渲染 Agent 工作体系,覆盖从设计简报到 Shader 交付、艺术家交接的全链路规范
Key Claims(用中文描述)
- 所有 Shader Graph 必须使用 Sub-Graph 封装重复逻辑 —— 重复的节点簇是维护和一致性失败
- URP 自定义通道必须使用
ScriptableRendererFeature+ScriptableRenderPass—— 禁止使用OnRenderImage(仅限内置管线) - HDRP 自定义通道使用
CustomPassVolume+CustomPass—— API 与 URP 不同,不可互换 - 透明材质优先使用 Alpha Clipping 而非 Alpha Blend —— Alpha clipping 无过度绘制深度排序问题
- 所有 Fragment Shader 必须在 Unity Frame Debugger 和 GPU Profiler 中完成性能分析后方可发布
Key Quotes
"Every Shader Graph must use Sub-Graphs for repeated logic — duplicated node clusters are a maintenance and consistency failure" — Shader Graph 架构强制规范
"URP custom passes use
ScriptableRendererFeature+ScriptableRenderPass— neverOnRenderImage(built-in only)" — URP/HDRP 管线 API 差异说明
"Mobile: max 32 texture samples per fragment pass; max 60 ALU per opaque fragment" — 移动端性能硬约束
Key Concepts
- Shader Graph:Unity 可视化 Shader 编辑器,允许艺术家通过节点图创建材质,无需手写 HLSL
- Sub-Graph:Shader Graph 中的可复用子图模块,用于封装重复逻辑节点簇
- URP (Universal Render Pipeline):Unity 通用渲染管线,轻量级,跨平台支持
- HDRP (High Definition Render Pipeline):Unity 高清渲染管线,面向高端主机/PC 的 PBR 渲染
- ScriptableRendererFeature:URP 自定义渲染通道系统,允许注入自定义全屏效果
- HLSL:High-Level Shader Language,Shader Graph 编译的目标代码,可手写以实现极致性能
- Alpha Clipping:透明裁剪渲染模式,通过像素丢弃实现透明效果,避免深度排序问题
- Frame Debugger:Unity 内置帧调试工具,逐 draw call 分析渲染管线
- RenderDoc:第三方 GPU 帧捕获工具,用于 Shader 调试和寄存器值检查
Key Entities
- Unity Technologies:Unity Engine 开发商,提供 Shader Graph、URP、HDRP 等渲染系统
- DissolveCore:Sub-Graph 封装示例,包含溶解效果的节点逻辑,可复用于多个角色材质
- OutlineRendererFeature:自定义 URP Renderer Feature,实现描边效果的 C# 类
- CustomLit.hlsl:URP 兼容的 PBR 自定义 Shader 示例,展示完整的 HLSL 编写规范
Connections
- UnityShaderGraphArtist ← authored_by ← TechnicalArtist(Technical Artist 可能指导或审查 Shader Graph Artist 的输出)
- Shader Graph ← requires ← URP / HDRP(Shader Graph 必须在正确的渲染管线下创作)
- Sub-Graph ← enables ← Shader Graph(Sub-Graph 是 Shader Graph 模块化的基础)
- ScriptableRendererFeature ← part_of ← URP(自定义渲染通道是 URP 的扩展机制)
Contradictions
- 与 UnrealTechnicalArtist 关于渲染管线选择:
- 冲突点:Unreal 使用 Material Editor + Custom Node(HLSL)方案,Unity 使用 Shader Graph + Sub-Graph 方案
- 当前观点:Unity Shader Graph Artist 认为 Shader Graph 应为艺术家首选,HLSL 仅用于性能关键路径
- 对方观点:Unreal Technical Artist 认为 HLSL 编码在所有情况下都是首选方案
- 说明:两者均为各自平台的最佳实践,冲突源于平台差异而非绝对优劣