vault backup: 2025-03-27 22:45:49
This commit is contained in:
@@ -6,7 +6,10 @@ tags:
|
||||
rating: ⭐
|
||||
---
|
||||
# Toon Lumen
|
||||
抹平法线思路:
|
||||
## 抹平法线思路
|
||||
### ViewVector Fix WorldNormal
|
||||
参考:
|
||||
- [【UE5】环境光与GI 2:抹平法线](https://zhuanlan.zhihu.com/p/25839790454)
|
||||
|
||||
在`LumenScreenProbeGather.usf`中对法线进行抹平处理。其Pass位于
|
||||
- DiffuseIndirectAndAO
|
||||
@@ -38,7 +41,16 @@ if (IsValid(Material))
|
||||
|
||||
该方法存在一些问题:**当相机围绕角色旋转时,角色身上的 GI变化会比较明显**。
|
||||
|
||||
# Spherical Harmonics
|
||||
### 低频化WorldNormal & Spherical Harmonics
|
||||
参考:
|
||||
- [[UFSH2024]用虚幻引擎5为《幻塔》定制高品质动画流程风格化渲染管线 | 晨风 Neverwind 完美世界游戏】【精准空降到 12:55】](https://www.bilibili.com/video/BV1rW2LYvEox/?share_source=copy_web&vd_source=fe8142e8e12816535feaeabd6f6cdc8e&t=775)
|
||||
- [[UFSH2024]用虚幻引擎5为《幻塔》定制高品质动画流程风格化渲染管线 | 晨风 Neverwind 完美世界游戏】 【精准空降到 36:52】](https://www.bilibili.com/video/BV1rW2LYvEox/?share_source=copy_web&vd_source=fe8142e8e12816535feaeabd6f6cdc8e&t=2212)
|
||||
- [ ] 需要实现:法线平滑 => 饱和度平滑。(没说细节,不清楚算法)
|
||||
- [[UFSH2024]用虚幻引擎5为《幻塔》定制高品质动画流程风格化渲染管线 | 晨风 Neverwind 完美世界游戏】【精准空降到 35:09】](https://www.bilibili.com/video/BV1rW2LYvEox/?share_source=copy_web&vd_source=fe8142e8e12816535feaeabd6f6cdc8e&t=2109)
|
||||
- [ ] 小于等于High存储的是一个八面体,提前加一个Pass进行平滑:采样法线方向半球面的平均数值。
|
||||
- [ ] 大于等于Epic存储的是一个三阶球谐,保持1阶球谐数值不变,对2~3阶球谐按照系数进行平滑。并且添加能量补偿,大致与PBR的结果接近。
|
||||
![[Lumen_SHData.png|800]]
|
||||
|
||||
UE5中采样球谐贴图方法(ReflectionEnvironmentShared.ush):
|
||||
```c++
|
||||
/**
|
||||
@@ -67,3 +79,7 @@ float3 GetSkySHDiffuse(float3 Normal)
|
||||
}
|
||||
```
|
||||
|
||||
## Cel适配
|
||||
需要实现Cel多光源方案。
|
||||
|
||||
大致的思路就是Copy Lumen结果,之后在[[Toon多光源参考|Toon多光源Pass]]中提取亮度,再根据亮度采样Ramp计算光影结果。
|
Reference in New Issue
Block a user