toonshader basic algorithm
outline
根据画风画法,拓展平涂厚涂相关
有线稿(形)与上色部分,应用到3d渲染里面亦是如此(只不过顺序并不对应)
自定义 Gbuffer部分存在贴图里面,本篇文章暂时只用于unity urp相关
unity urp srp
间接光、环境光
sh部分
sh.... 对应引擎?
custom AO
手绘
主光
lambort
高光
Materials
BaseColor 贴图(RGBA,.tga)
- RGB = 基础色(平涂,不写实)
- A = 材质 ID(0=金属,1=非金属,≈0.52=非金属默认)
LightMap 贴图(RGBA,.tga)
- R = AO
- G = Details(绒毛等相关)
- B = High(高光,是否被光点亮)
- A = 金属度(0 or 1 金属,0.5 非金属)
参考sp材质 具需要一张rgba的lightmap贴图(.tga)
rgba各为灰度 lightmap r: ao
lightmap g: details(类似绒毛相关)
ligtmap b: high(高光,是否被光点亮)
lightmap a: 金属度体现(0 or 1金属,0.5非金属) 
进阶(可选):UV 孤岛整合打包、烘焙。
Painting Recipes(归一化 0.0–1.0)
| Material | R | G | B | A | Notes |
|---|---|---|---|---|---|
| Cotton / wool / matte fabric | 1.0 | ~0.43–0.51 | 0.0 | non-metal (≈0.52) | No specular. R 可在褶皱处画暗(AO) |
| Denim | 1.0 | ~0.39–0.43 | ~0.06–0.12 | non-metal | 阴影略宽,微弱高光 |
| Satin / silk | 1.0 | ~0.47–0.50 | ~0.24–0.39 | non-metal | 宽而柔的高光 |
| Leather | ~0.90 | ~0.35–0.43 | ~0.35–0.51 | non-metal | 高光较窄,过宽调 _SpecularExpon |
| Latex / PVC | 1.0 | ~0.50 | 1.0 | non-metal | 最强非金属高光 |
| Metal | 1.0 | ~0.50 | 1.0 | 0 or 1 | 高光被 BaseColor 染色,金属色画在 BaseColor |