Unity - 各向异性 - 丝绸材质

文章目录

  • 目的
  • 环境
  • 主观美术效果的[假]丝绸
  • 基于物理的方式
  • Project
  • PBR filament web capture
  • References


目的

拾遗,备份


环境

Unity : 2020.3.37f1
Pipeline : Builtin Rendering Pipeline


主观美术效果的[假]丝绸

非常简单 :

half specualr = pow(1 - NdotV, _Edge_Pow) * _Edge_Scale + pow(NdotV, _Enter_Pow) * _Center_Scale;
specular *= _Tint;

Unity - 各向异性 - 丝绸材质_第1张图片

这个效果不是物理的
而且在规律平面上效果比较弱

下面参考: Cilory-UE4-丝绸材质 里面可以看到在丝绸布料动起来的时候,稍微可观一些
Unity - 各向异性 - 丝绸材质_第2张图片
Unity - 各向异性 - 丝绸材质_第3张图片


基于物理的方式

Unity - 各向异性 - 丝绸材质_第4张图片
Unity - 各向异性 - 丝绸材质_第5张图片
Unity - 各向异性 - 丝绸材质_第6张图片
Unity - 各向异性 - 丝绸材质_第7张图片
Unity - 各向异性 - 丝绸材质_第8张图片

Unity - 各向异性 - 丝绸材质_第9张图片

这个是普通的衣服光泽

Unity - 各向异性 - 丝绸材质_第10张图片
这个是丝绸衣服光泽,这个简单的试验DEMO如下

Unity - 各向异性 - 丝绸材质_第11张图片

  • 优化 各向异性材质 的 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

Unity - 各向异性 - 丝绸材质_第12张图片

第二步是 cubemap reflect dir 的扭曲调整 (也就是 IBL 的 Anisotropy,就是修改 reflect dir)

https://google.github.io/filament/Filament.html#lighting/imagebasedlights/anisotropy
Unity - 各向异性 - 丝绸材质_第13张图片

代入到 standard 中的 PBR Aniso 效果,如下图:

  • 左边 blinn phong 修改 specular 为 anisotropy specular
  • 中间 standard 金属流修改为 anisotropy specular
  • 右边 是普通 standard 金属流

Unity - 各向异性 - 丝绸材质_第14张图片

PBR Filament 上的模型,测试 Standard 修改为 Anisotropy Specular 的效果

显示 standard 金属流
Unity - 各向异性 - 丝绸材质_第15张图片

开启 anisotropy
Unity - 各向异性 - 丝绸材质_第16张图片

然后我们再增加一个张细节法线
Unity - 各向异性 - 丝绸材质_第17张图片
Unity - 各向异性 - 丝绸材质_第18张图片

基理太粗,调整一下 scale offset
Unity - 各向异性 - 丝绸材质_第19张图片
最后的效果

加上 Bloom, Color Grading (tonemapping) 后效
Unity - 各向异性 - 丝绸材质_第20张图片


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

PBR_filament_web_capture.jpeg
提取码:ceio


References

  • 里面的各向异性材质: 丝绸材质可以参考:
  • 光照模型 PBR
  • Anisotropic specular BRDF - 公式、代码都有,非常有用的国外 PBR filament 教程
  • 丝绸、头发 各向异性:
  • Unity Shader 布料渲染(二)具体实现
  • 丝绸效果的实现
  • FlowMap的使用
  • URP绸缎材质近似
  • 可以参考: UE4 或是 unity HDRP 里面的 丝绸材质
  • PBR光照 Part1:BRDF(Cook-Torrance 模型)
  • Shader学习 (18)PBR光照模型效果分析手动复现 - 写的非常易懂

你可能感兴趣的:(unity,TA,-,加油站,unity-shader,unity,材质,游戏引擎)