文章目录
- 目的
- 环境
- 主观美术效果的[假]丝绸
- 基于物理的方式
- Project
- [PBR filament web capture](#PBR filament web capture)
- References
目的
拾遗,备份
环境
Unity : 2020.3.37f1
Pipeline : Builtin Rendering Pipeline
主观美术效果的[假]丝绸
非常简单 :
c
half specualr = pow(1 - NdotV, _Edge_Pow) * _Edge_Scale + pow(NdotV, _Enter_Pow) * _Center_Scale;
specular *= _Tint;
这个效果不是物理的
而且在规律平面上效果比较弱
下面参考: Cilory-UE4-丝绸材质 里面可以看到在丝绸布料动起来的时候,稍微可观一些
基于物理的方式
这个是普通的衣服光泽
这个是丝绸衣服光泽,这个简单的试验DEMO如下
- 优化 各向异性材质 的 T (切线) 的法线应用变化
- 完善其他 fresnel, reflection, ambient 的补充
上面的效果我都是在 blinn phong 模型上,给 高光整上 PBR Anisotropy 的效果
那么下面是将 unity builtin rendering pipeline (内置管线) 的 standard 金属流中,添加 PBR Anisotropy 的效果
参考的是: PBR Filament 里面的 anisotropy 效果:
第一步是 specular 高光部分
https://google.github.io/filament/Filament.html#materialsystem/anisotropicmodel
第二步是 cubemap reflect dir 的扭曲调整 (也就是 IBL 的 Anisotropy,就是修改 reflect dir)
https://google.github.io/filament/Filament.html#lighting/imagebasedlights/anisotropy
代入到 standard 中的 PBR Aniso 效果,如下图:
- 左边 blinn phong 修改 specular 为 anisotropy specular
- 中间 standard 金属流修改为 anisotropy specular
- 右边 是普通 standard 金属流
PBR Filament 上的模型,测试 Standard 修改为 Anisotropy Specular 的效果
显示 standard 金属流
开启 anisotropy
然后我们再增加一个张细节法线
基理太粗,调整一下 scale offset
最后的效果
加上 Bloom, Color Grading (tonemapping) 后效
Project
- Testing_Fake_Silk_Shader_2020.3.37f1_URP.rar
- Testing_PBR_Anisotropic_2020.3.37f1_BRP_v1.rar
- Testing_PBR_Anisotropic_2020.3.37f1_BRP_v2.rar - 场景: _10_My_Silk_Anisotropic_Lighting,增加了 standard,fwdbase, fwdadd 的处理
PBR filament web capture
提取码:ceio
References
- 里面的各向异性材质: 丝绸材质可以参考:
- 光照模型 PBR
- Anisotropic specular BRDF - 公式、代码都有,非常有用的国外 PBR filament 教程
- 丝绸、头发 各向异性:
- Unity Shader 布料渲染(二)具体实现
- 丝绸效果的实现
- FlowMap的使用
- URP绸缎材质近似
- 可以参考: UE4 或是 unity HDRP 里面的 丝绸材质
- PBR光照 Part1:BRDF(Cook-Torrance 模型)
- Shader学习 (18)PBR光照模型效果分析手动复现 - 写的非常易懂