01 · MATERIAL & SHADER
材质与 Shader
材质与 Shader 开发全流程:从需求分析到优化适配的 10 步可执行管线,以 Crystal 等复杂材质为贯穿案例。
I. 分析与设计
- 1. 需求分析 Reference Analysis
收集参考图/视频,分析视觉风格、光照与构图氛围,设定质量与性能目标。产出:需求文档与参考集。
- 2. 材质域分析 Material Domain
确定渲染域(Surface / Volume / Particle),分析光-物质交互方式,判断是否需要折射、散射等特性。例:Crystal — 表面交互、反射折射、能量守恒。
- 3. 着色模型选择 Shading Model
选择 BRDF / BSDF / BTDF 基础模型,确定扩展项(SSS / ClearCoat / Anisotropy),明确公式与参数契约。例:Crystal = BRDF(GGX·Beckmann)+ BTDF(折射·Beer-Lambert)。
- 4. 表面属性定义 Surface Property
定义参数集与数据类型/范围/默认值,区分必需与可选。BaseColor / Normal / Roughness / IOR / Thickness / Transmission / Absorption / Specular / Dispersion / ClearCoat。
- 渲染特性库5. 渲染特性拆解 Feature Decomposition
将视觉效果映射为可独立实现的渲染特性,评估贡献度并排优先级。Reflection / Refraction / Transmission / Dispersion / Fresnel / Internal Reflection / Facet。
- 6. 输入数据规划 Input Data Planning
规划纹理、顶点、场景数据需求,确定 UV / 坐标空间 / 精度。Normal / View Direction / IOR / Scene Color / Scene Depth / Thickness 等。
II. 实现
- 算法库7. 算法设计与选择 Algorithm Selection
为每个特性选择实现路径,平衡物理正确与近似/烘焙,定义 Low / Mid / High 多档质量。例:折射 Low=UV Offset,Mid=SSR,High=Ray Tracing。
- 8. Shader 实现 Shader Implementation
选择实现载体:节点图 Material Graph / 手写 HLSL / Material Function / Compute Shader,编写代码并模块化封装为可复用资产。
III. 验证
- 9. 效果验证 LookDev & Validation
对比参考图验证视觉效果,检验物理正确性(能量守恒、IOR 一致性),多光照/多场景测试。验证维度:视觉还原 / 物理曲线 / 性能 Profiling(指令数·GPU 耗时)。
IV. 优化
- 10. 优化与适配 Optimization & Adaptation
性能优化(ALU / 纹理采样 / 带宽)与平台适配(Mobile / Console / PC),LOD 与 Feature 分级。手段:降采样·纹理打包、数学近似、Half/Float 精度、Feature Level 开关。
- → 材质研发 Framework+扩展
上述流程的可交互数据流版本:从目标效果到 UE 集成的完整研发管线,含特性库、算法库与验证闭环。
流程闭环:分析 → 设计 → 实现 → 验证 → 优化。核心原则:物理正确优先 → 视觉效果达成 → 性能可控 → 可维护可扩展。Material Feature 只产参数 P,不产光照 L。