Blender 笔记:Principled BSDF

特点和设计原则

特点:

  • 基于物理规律,但是也预留出调整空间
  • 可以表现现实世界绝大多数材料
  • 易于使用
  • 与其他软件兼容

设计原则:

  • 直观的参数设置
  • 尽可能少的参数
  • 参数取值应该在 0 – 1 之间
  • 如果有意义,部分取值也可以在 0 – 1 之外
  • 所有参数组合都可以处理

Node Wrangler

Blender 中一个非常好用的插件,可以提高节点操作的效率

ctrl + shift + TPrincipled Texture Setup

基础原理

  • 反射光线 = 次表面散射 + 漫反射 + 高光
  • 反射光线强度 < 入射光线强度
  • 光线与表面夹角越小,高光占比越大(Fresnel Effect)

金属

在大多数情况下,Metallic 参数要么是 0(非金属),要么是 1(金属)。金属表面的铁锈,污渍,油漆等为非金属

金属特点

  • 没有漫反射和次表面散射
  • 高光较强
  • 高光会被染色
  • 不同金属高光颜色不同

金属参数

  • Base Color:金属固有色
  • Subsurface:相关的三属性均不需要设置
  • Metallic:1
  • Specular:相关的二属性均不需要设置

非金属

非金属特点

  • 漫反射和次表面散射为固有色
  • 高光强度较小
  • 高光不带有物体固有色

非金属参数

漫反射:

  • Base Color:亮度范围一般在 [0.02, 0.80]

次表面散射:

  • Christensen-Burley vs Random Walk:Christensen-Burley 是一种快速近似算法。而 Random Walk 计算更精确,开销也更大,并且进支持 Cycles
  • Subsurface:0 为漫反射,1 为次表面散射
  • Subsurface Radius:RGB 散射半径,注意 Eevee 不支持自定义次表面散射半径
  • Subsurface Color:次表面基础色

高光:

  • Specular:仅在设置非金属材料参数时有效,一般用默认的 0.5 即可
  • Specular Tint:一般情况下为 0

粗糙度

简介

  • 最主要的是影响高光的分散程度
  • 还会影响逆反射 Retroreflection

粗糙度参数

  • GGX vs Multiscatter GGX:GGX 为一般算法。当表面比较粗糙时,使用 Multiscatter GGX 可以获得更真实的质感,同时计算开销也更大
  • Roughness:决定高光分散程度和逆反射(Eevee 中没有逆反射),一般不要设置为 0

透明物体

Eevee 不能模拟光线折射,因此不适合模拟透明物体

  • IOR:折射率,即透明物体背后景象的弯曲效应
  • Transmission:透明度
  • Transmission Roughness:不影响表面的高光粗糙度。调大后会有毛玻璃的感觉。总体还是推荐只使用总粗糙度

其它参数

  • Anisotropic:各向异性
  • Sheen:主要用于渲染布料。为物体边缘添加微弱的高光
  • Sheen Tint:光泽染色,即让光泽染上基础色。推荐设置 > 0.5
  • Clearcoat:清漆,用于车漆等渲染,额外叠加一层高光
  • Emission:自发光
  • Alpha:没有折射的透明度。用于做叶子等要挖洞的材质。Eevee 中,混合模式不能设置为 Opaque
  • Normal:法线贴图,增加材质的凹凸感