Update nexus wiki content

This commit is contained in:
2026-05-03 05:42:06 +08:00
parent 90f3811b83
commit 111bc65b7b
707 changed files with 32306 additions and 7289 deletions

View File

@@ -1,59 +1,52 @@
---
title: "Unity Shader Graph Artist"
type: source
tags: []
date: 2026-04-26
tags: [agent, unity, shader, game-development, urp, hdrp, hlsl, visual-effects]
date: 2026-05-01
---
## Source File
- [[raw/Agent/agency-agents/game-development/unity/unity-shader-graph-artist.md]]
## 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 交付、艺术家交接的全链路规范
- 核心主题Unity Shader Graph Artist 智能体的角色定义、技术规范和工作流程专注文体化与写实shader创作
- 问题域:Unity渲染管线URP/HDRP下的shader创作、HLSL性能优化、shader架构规范
- 方法/机制:通过Shader Graph实现美术可编辑shader通过Sub-Graph实现逻辑复用通过ScriptableRendererFeature实现自定义渲染通道
- 结论/价值:建立了一套完整的Unity 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 中完成性能分析后方可发布
- Shader Graph 规范:所有重复逻辑必须封装为 Sub-Graph禁止节点集群重复否则视为维护失败
- 渲染管线规则URP/HDRP 项目禁止使用 built-in 管线shaderURP 自定义通道必须用 `ScriptableRendererFeature + ScriptableRenderPass`,不能`OnRenderImage`
- 性能标准移动端每片段最多32次纹理采样、不透明片段最多60条ALU指令避免在移动端使用 `ddx`/`ddy` 导数
- HLSL 规范:使用 `.hlsl` 扩展名声明include文件使用 `.shader` 扩展名声明 ShaderLab wrapper必须用 `TEXTURE2D`/`SAMPLER` 宏替代 `sampler2D`
- Dissolve shader 关键逻辑:噪声纹理驱动消融 → Alpha Clip 实现切割边缘 → emissive 边缘高光
## 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` — never `OnRenderImage` (built-in only)" — URP/HDRP 管线 API 差异说明
> "Mobile: max 32 texture samples per fragment pass; max 60 ALU per opaque fragment" — 移动端性能硬约束
> "Every Shader Graph must use Sub-Graphs for repeated logic — duplicated node clusters are a maintenance and consistency failure." — Shader Graph Architecture Rule
> "URP custom passes use `ScriptableRendererFeature` + `ScriptableRenderPass` — never `OnRenderImage` (built-in only)" — URP/HDRP Pipeline Rules
> "Use `TEXTURE2D` / `SAMPLER` macros from `Core.hlsl` — direct `sampler2D` is not SRP-compatible" — HLSL Authorship Rules
## 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 LanguageShader Graph 编译的目标代码,可手写以实现极致性能
- [[Alpha Clipping]]:透明裁剪渲染模式,通过像素丢弃实现透明效果,避免深度排序问题
- [[Frame Debugger]]Unity 内置帧调试工具,逐 draw call 分析渲染管线
- [[RenderDoc]]:第三方 GPU 帧捕获工具,用于 Shader 调试和寄存器值检查
- [[Shader Graph]]Unity可视化shader编辑工具支持美术驱动的节点化shader创作
- [[URP (Universal Render Pipeline)]]Unity通用渲染管线Shader Graph主要支持的管线
- [[HDRP (High Definition Render Pipeline)]]Unity高清渲染管线,与URP的API不兼容
- [[HLSL]]High Level Shading Language用于编写高性能shader逻辑
- [[ScriptableRendererFeature]]URP自定义渲染通道的核心扩展点
- [[Sub-Graph (Shader Graph)]]Shader Graph中的可复用子图模块
- [[Alpha Clipping]]:透明裁剪优于Alpha Blend深度排序问题
- [[Dissolve Shader]]消融shader通过噪声纹理驱动切割效果
- [[Fresnel]]:边缘高光效果,基于视角方向和法线夹角计算
- [[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 编写规范
- [[Unity]]:游戏引擎厂商,Shader Graph、URP、HDRP的提供方
- [[UnityShaderGraphArtist]]该智能体的角色名专注于shader艺术与性能的平衡
## 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 的扩展机制)
- [[Unity Architect]] ← 专业分工 ← [[Unity Shader Graph Artist]]
- [[Unity Multiplayer Engineer]] ← 共享工作流 ← [[Unity Shader Graph Artist]]
- [[Technical Artist]] ← 职责交叉 ← [[Unity Shader Graph Artist]]
- [[Unreal Technical Artist]] ← 功能对标 ← [[Unity Shader Graph Artist]]
## Contradictions
- 与 [[UnrealTechnicalArtist]] 关于渲染管线选择:
- 冲突点Unreal 使用 Material Editor + Custom NodeHLSL方案Unity 使用 Shader Graph + Sub-Graph 方案
- 当前观点Unity Shader Graph Artist 认为 Shader Graph 应为艺术家首选HLSL 仅用于性能关键路径
- 对方观点Unreal Technical Artist 认为 HLSL 编码在所有情况下都是首选方案
- 说明:两者均为各自平台的最佳实践,冲突源于平台差异而非绝对优劣
- 无已知冲突