74 lines
4.0 KiB
Markdown
Raw Normal View History

2023-12-18 10:48:54 +08:00
---
title: ToonShaderModel
date: 2023-12-18 10:00:34
excerpt:
tags:
rating: ⭐
---
# ToonStandardCel打底
2024-04-04 21:48:26 +08:00
## Diffuse
```c++
//Lighting.Diffuse *= AreaLight.FalloffColor * (Falloff * HalfLambert);
//TODO:添加阴影过渡效果。
//ToonShadow添加类型1.PBR(只能调整过渡颜色) Lighting.Diffuse = DiffuseColor * (1 / PI) * AreaLight.FalloffColor * (Falloff * HalfLambert); 2.ShadowColorTexture兼容RampTexture效果也就是原神的效果还需要添加ShadowColorIntensity后需要改成曝光相关额东西。Lighting.Diffuse = DiffuseColor * (1 / PI);
//ToonLighting添加类型1.PBR多光源模式2.主光有效针对cel。
//---------------------------------------------------------
//Specular
//ToonSpecular添加类型1.PBR 2. 各项异性defaultLit3. 各项异性头发 4. 自定义高光大小与过渡效果 https://zhuanlan.zhihu.com/p/361918341 5.自定义高光形状贴图 https://zhuanlan.zhihu.com/p/640258070 https://github.com/AnCG7/URPShaderCodeSample/blob/891034b3fa6e838e2b231390755479f0f649f181/Assets/Shaders/NPR/Cartoon/Stylized%20Highlight%20(Transform).shader#L2
```
2024-04-18 21:25:18 +08:00
**ToonShadow**
再实现阴影偏移以及阴影羽化效果的基础上。
1. PBR兼容UE默认阴影效果。只能调节阴影过渡颜色。使用的公式为 `Lighting.Diffuse = DiffuseColor * (1 / PI) * AreaLight.FalloffColor * (Falloff * HalfLambert);`
2024-04-19 15:09:19 +08:00
2. ShadowColorTexture用于定义ShadowColor使用贴图指定ShadowColor
2024-04-18 18:48:16 +08:00
2024-04-18 21:25:18 +08:00
**ToonLighting**
1. PBRUE默认光照多光源模式。
2. 仅主光有效针对cel。
2024-04-04 21:48:26 +08:00
## Specular
2024-04-18 21:25:18 +08:00
**ToonSpecular**
1. PBRUE默认高光效果。
2. 各项异性defaultLitUE默认的各向异性高光效果。
3. 各项异性头发 **Kajiya-Kay**高光模型。
4. 自定义高光大小与过渡效果https://zhuanlan.zhihu.com/p/361918341
2024-04-19 15:09:19 +08:00
5. 自定义高光形状贴图https://zhuanlan.zhihu.com/p/640258070 https://github.com/AnCG7/URPShaderCodeSample/blob/891034b3fa6e838e2b231390755479f0f649f181/Assets/Shaders/NPR/Cartoon/Stylized%20Highlight%20(Transform).shader#L2
2023-12-18 10:48:54 +08:00
2025-01-30 22:53:06 +08:00
## 罪恶装备渲染效果还原
2025-02-19 15:50:23 +08:00
- 原始演讲视频:https://www.bilibili.com/video/BV1Ps411C7mw/?share_source=copy_web&vd_source=fe8142e8e12816535feaeabd6f6cdc8e
- 原始演讲PPT:https://www.ggxrd.com/Motomura_Junya_GuiltyGearXrd.pdf
2025-02-19 18:00:53 +08:00
- [【翻译】西川善司「实验做出的游戏图形」「GUILTY GEAR Xrd -SIGN-」中实现的「纯卡通动画的实时3D图形」的秘密前篇1](https://www.cnblogs.com/TracePlus/p/4205798.html "发布于 2015-01-06 12:56")
- [【翻译】西川善司「实验做出的游戏图形」「GUILTY GEAR Xrd -SIGN-」中实现的「纯卡通动画的实时3D图形」的秘密前篇2](https://www.cnblogs.com/TracePlus/p/4205834.html "发布于 2015-01-06 13:23")
- [【翻译】西川善司的「实验做出的游戏图形」「GUILTY GEAR Xrd -SIGN-」中实现的「纯卡通动画的实时3D图形」的秘密后篇](https://www.cnblogs.com/TracePlus/p/4205978.html "发布于 2015-01-06 14:23")
2025-02-19 15:50:23 +08:00
- 知乎文章
- https://zhuanlan.zhihu.com/p/513598386
- https://zhuanlan.zhihu.com/p/493802718
2025-02-19 18:00:53 +08:00
- [x] https://zhuanlan.zhihu.com/p/513228315
2025-02-19 15:50:23 +08:00
-
2025-02-19 18:00:53 +08:00
### 贴图
- base基础色
2025-02-20 18:25:54 +08:00
- rgb亮面颜色
- **a**
- ShadowMap SSS
- rgb暗面颜色
- **a**
2025-02-19 18:00:53 +08:00
- ILM
- **ilmR**:金属度,高光类型?
- ilmG阴影与高光Offset
- ilmB高光遮罩高光强度Mask。
- ilmA本衬线基于UV制作风格化内描边原理参考先前文章内描边Mask。
- detailtexcoord[1]细节遮罩磨损贴图。用第二套UV与底色正片叠底混合mul
- VertexColor(R褶皱与背面阴影Offset将阴影向深处偏移
- VertexColor(G明度存储组件信息
- VertexColor(B存储部分细节
2025-02-20 18:25:54 +08:00
### TODO
- [ ] 给ToonDataAsset 添加干掉自投影功能
2025-02-19 15:50:23 +08:00
## UnityChan
2025-01-30 22:53:06 +08:00
## 蓝色协议
2023-12-18 10:48:54 +08:00
# 厚涂 ShaderModel通过修改预积分ShaderModel