美文网首页
PBR相关资料汇总

PBR相关资料汇总

作者: 小小青蛙不怕风吹雨打 | 来源:发表于2021-05-19 20:25 被阅读0次

概念理解

  • BRDF,双向反射分布函数。大致就是在给定表面点上,输入入射向量和出射向量,算出出射辐射率和入射辐照度的比率。
    • f(l,v) = \frac{dL_o(v)}{dE(l)},这样定义能够配平渲染方程。

资料

球谐光照&光照探针方面的资料

Unity

  1. 如何在Unity中造一个PBR Shader轮子 https://zhuanlan.zhihu.com/p/68025039
  2. 扩张Unity PBR https://blog.uwa4d.com/archives/USparkle_PBR.html
    1. 作者github https://github.com/chenyong2github

PBR工作流(SubStance+Unity)

  • SubStance 用的 GGX BRDF,有两套workflow
    • https://academy.substance3d.com/courses/the-pbr-guide-part-2
    • Metal/roughness
      • base color tex 叫做 albedo 同时包含绝缘体的漫反射颜色和导体的反射率(镜面反射)(base color 用的sRGB的方式存储的)
      • Metal map 用起来像一个黑白二分图,黑色绝缘体(非金属),白色导体(金属)
        • 只是像,因为还有半导体来着。
          • 当metal gray value 低于 235 sRGB 时,需要降低base color对应的反射率
        • 绝缘体也有4%的反射率,这个0.04可以写死在shader里,
        • Substatance提供了一个 SpecularLevel 来控制绝缘体的反射率,
      • roughness tex 粗糙度贴图,1是最粗糙
      • 优点:使用广泛,不容易弄错绝缘体的反射率(多数情况下写死0.04),纹理内存用的少。
      • 缺点:不能控制绝缘体的反射率,边缘副作用更加明显。
    • Specular/glossiness
      • diffuse map 颜色贴图,金属部分颜色是黑色(只有高光颜色没有反射颜色)
      • specular map 反射率贴图,非金属也有单独的反射率设置,而不是定死0.04
      • glossiness map 光泽度贴图,1是最光滑
      • 优点:边缘副作用不明显,可以控制非金属的反射率
      • 缺点:容易搞错非金属的反射率导致光照过亮,纹理内存用的多,据说是用起来更麻烦。
    • 两种worlflow公共的部分
      • Normal map 法线贴图,丰富光照细节
      • AO(ambient occlusion) map 主要作用于环境光,乘法运算
      • Height map 可以做一些视差效果,最好是用低精度的模糊高度图,细节部分让normal map 控制
        • 一般不真的移动顶点,意味着边缘部分还是原来的几何边缘。但是可以做到移动顶点。
      • 其他
        • 按理来说粗糙度和光泽度应该也可以是公共的。
    • 其他
      • 反射率分布:金属70%-100%,大部分非金属2%-5%,有效范围0%-8%
    • 副作用
      • 金属会有白色边缘,原因是纹理插值导致的,Metal workflow的albedo的金属区域是白色的(镜面反射率靠近1)。
        • Specular worlflow 金属会有黑色边缘,但是感官不明显。
        • 提高纹理像素密度能减轻这个问题。
  • Unity 的两种物理shader standard + standard(specular setup)
  • Substance与PBR工作流总结:https://blog.csdn.net/linuxheik/article/details/81914184
    • 比较简单。

相关文章

网友评论

      本文标题:PBR相关资料汇总

      本文链接:https://www.haomeiwen.com/subject/khhmjltx.html