Substrate材质系统-03-Slab-Medium

  1. 0 概念
    1. 0.1 SSS MFP
    2. 0.2 BRDF vs BSSRDF
      1. 0.2.1 概念比较
      2. 0.2.2 函数比较
    3. 0.3 PBR
    4. 0.4 Disney Principled BRDF
  2. 1 不透明物体
  3. 2 半透明物体
  4. 999 Ref

本文讨论Slab的介质。

0 概念

0.1 SSS MFP

SSS MFP(次表面散射平均自由程)。

  • SSS:Subsurface Scattering(次表面散射,读作3S)
  • MFP:Mean Free Path(平均自由程),是不同光波长在遇到碰撞之前将穿透介质的距离(以厘米为单位)。
    • 分别表示RGB光波穿透介质的距离,是距离不是颜色
    • 颜色转MFP可以使用Substrate Transmittance-To-MeanFreePath节点

0.2 BRDF vs BSSRDF

0.2.1 概念比较

来自ChatGPT。

BRDF(双向反射分布函数)和BSSRDF(双向散射反射分布函数)都是用在计算机图形学中,以模拟光与物体表面相互作用的方式。

BRDF描述的是在理想条件下(即忽略了物体内部的散射效应),表面上点的光反射性质。它仅仅考虑了入射光线和反射光线在物体表面上的关系,并且假设光线在表面只产生一次反射,反射光线的强度仅由入射角度和反射角度决定。它是一个4D函数,通常由两个角度(入射光线的角度和反射光线的角度)和两个平面(入射光线的平面和反射光线的平面)来定义。BRDF广泛应用于渲染中,特别是在处理光滑表面反射(如镜面反射、漫反射)时,表现非常有效。

BSSRDF将BRDF的概念进一步拓展,考虑到了光在介质内部的多次散射之后再离开物体表面的综合效果。这适用于那些拥有一定程度透明度的物质,如皮肤、大理石、牛奶等。光线在这类物质内部传播时,会因为次表面散射而在不同位置以不同角度离开表面。因此,BSSRDF不仅是一个关于角度的函数,还包含了空间位置的信息,它是一个更加复杂的7D函数(两个空间位置,各自三个坐标轴,加上时间)。

总而言之,BRDF适用于处理表面直接反射的情况,而BSSRDF用于处理包括次表面散射在内的更复杂的光传播现象。在渲染实践中,选择哪一种依赖于所需的细节程度和效率要求。BSSRDF的计算代价通常比BRDF要高,但它能够更真实地模拟透明或半透明物体的光照效果。

0.2.2 函数比较

BRDF(Bidirectional reflectance distribution function)。ωi是入射角向量,ωr是反射角向量,θ是入射角和法向量n的夹角。PBR的BRDF更加复杂,例如UE4是基于Disney的模型。

BSSRDF(Bidirectional scattering-surface reflectance distribution function, Bidirectional surface scattering RDF)。描述了出射辐射率与入射通量之间的关系,包括次表面散射(SSS)等现象。BSSRDF 描述了光线如何在照射到表面的任意两条光线之间传输。

各种BXDF概念:

  • BRDF (Bidirectional reflectance distribution function): is a simplified BSSRDF, assuming that light enters and leaves at the same point (see the image on the right).
  • BTDF (Bidirectional transmittance distribution function): is similar to BRDF but for the opposite side of the surface. (see the top image).
  • BDF (Bidirectional distribution function): is collectively defined by BRDF and BTDF.
  • BSSRDF (Bidirectional scattering-surface reflectance distribution function or Bidirectional surface scattering RDF) describes the relation between outgoing radiance and the incident flux, including the phenomena like subsurface scattering (SSS). The BSSRDF describes how light is transported between any two rays that hit a surface.
  • BSSTDF (Bidirectional scattering-surface transmittance distribution function): is like BTDF but with subsurface scattering.
  • BSSDF (Bidirectional scattering-surface distribution function): is collectively defined by BSSTDF and BSSRDF. Also known as BSDF (Bidirectional scattering distribution function).

0.3 PBR

基于物理的渲染(Physically based rendering, PBR),旨在以现实世界中的光学对灯光和表面进行建模的方式渲染图像。是一套概念,而不是严格的规则。

他主要包含表面和体积两方面,表面使用BSSDF来描述,体积可能有另外的东西。研究的领域:

  • Surfaces
    • Reflection 反射
    • Diffusion 扩散
    • Translucency and transparency 半透明和透明
    • Conservation of energy 节约能源??
    • Metallicity 金属度
    • Fresnel relection 菲涅尔反射
    • Subsurface scattering 次表面散射
  • Volumes
    • Lens-related/Angle of view/Depth of field effects 镜头相关/视角/景深效果
    • Caustics 焦散(光的焦散,可以视为光斑或其明亮边缘,光透过被子or凸透镜的现象)
    • Light scattering 光散射
    • Participating media 参与媒体?
    • Atmospheric visual properties such as: 大气视觉属性
      • Day-night cycle 昼夜
      • Elevation 海拔
      • Angular distance from the Sun or Moon or other orbital objects 与太阳或月球或其他轨道物体的角距离
      • Weather and sky conditions, including clouds, precipitation, and aerosol obscurations such as fog or haze. 天气与天空状况,包括云、降水、雾霾等气溶胶

0.4 Disney Principled BRDF

2012年由迪士尼提出《Physically-based shading at Disney》(Ref6.3),用系列直观的参数来描述。是目前PBR的事实标准,UE4和Unity在用。

  • baseColor(基础色):表面颜色,通常由纹理贴图提供。
  • subsurface(次表面):使用次表面近似控制漫反射形状。
  • metallic(金属度):金属(0 =电介质,1=金属)。这是两种不同模型之间的线性混合。金属模型没有漫反射成分,并且还具有等于基础色的着色入射镜面反射。
  • specular(镜面反射强度):入射镜面反射量。用于取代折射率。
  • specularTint(镜面反射颜色):对美术控制的让步,用于对基础色(base color)的入射镜面反射进行颜色控制。掠射镜面反射仍然是非彩色的。
  • roughness(粗糙度):表面粗糙度,控制漫反射和镜面反射。
  • anisotropic(各向异性强度):各向异性程度。用于控制镜面反射高光的纵横比。(0 =各向同性,1 =最大各向异性)
  • sheen(光泽度):一种额外的掠射分量(grazing component),主要用于布料。
  • sheenTint(光泽颜色):对sheen(光泽度)的颜色控制。
  • clearcoat(清漆强度):有特殊用途的第二个镜面波瓣(specular lobe)。
  • clearcoatGloss(清漆光泽度):控制透明涂层光泽度,0 =“缎面(satin)”外观,1 =“光泽(gloss)”外观。

它的BRDF方程如下。D是microfacet distribution function,描述高光;F是菲涅尔方程;G是几何函数,描述自阴影;分母用来矫正。每个具体的方程参考Ref4.6

1 不透明物体

对于不透明材质,当Slab位于材质拓扑底部时,会用于次表面散射。散射在没有指定次表面轮廓(Subsurface Profile)时,由反射反照率(DiffuseAlbedo)和次表面轮廓平均自由程(SSS MPF)决定。即描述表面下面的介质。

下面是Albedo为粉色,MFP颜色为蓝色,厚度为0.1 0.5 1.0的效果。MFP颜色相同,随着厚度的增加,SSS效果增加,因为光线越难穿过,散射加强。(材质中的预览效果似乎有bug,噪点很多。编辑器中也有很多噪点,并且镜头拉近还会有不正常的波纹)

颜色*厚度直接连SSS MFP,效果似乎更正确:

离远看是Albedo的颜色(粉色),越近越能呈现SSS的颜色(蓝色):

SSS MFP Scale表示SSS的影响程度,0~1从不影响到影响。下面是厚度为0.5,Scale分别为0 0.5 1的效果:

2 半透明物体

BlendMode改为TranslucentColoredTransmittance,半透明度的光照模式设置为Surface ForwardShading,折射方法设置为为Index Of Refraction(不要在项目设置中开前向渲染,否则项目会崩溃

一些IOR(折射率)的数值:

IOR(折射率)为1.44,Albedo为灰色,MFP颜色为白色,距离为1,粗糙度分别为0.1 0.2 0.5的效果如下。随着粗糙度提升,会出现毛玻璃效果。

IOR(折射率)为1.44,Albedo为灰色,粗糙度为0.15,MFP距离为1,改变MFP颜色:

其他不变,仅修改MFP距离0.01 0.02 0.5:

使用的材质连线如下:

999 Ref

  1. 官方文档:
    1. Substrate材质:https://docs.unrealengine.com/5.3/zh-CN/substrate-materials-in-unreal-engine/
    2. Substrate材质概述:https://docs.unrealengine.com/5.3/zh-CN/overview-of-substrate-materials-in-unreal-engine/
  2. 官方视频:
    1. 虚幻引擎中材质的未来 - GDC 2023:https://www.youtube.com/watch?v=joOIBteSo1w
    2. 虚幻直播的状态 — Timestamp: 02:29:42:https://www.youtube.com/watch?v=teTroOAGZjM&t=8982s
    3. 内容示例-SubstrateMaterials
  3. UFSH2023视频:
    1. [UFSH2023]从实践中理解Substrate材质 | 李文磊 Epic Games:https://www.bilibili.com/video/BV18W4y1P7hX
    2. [UFSH2023]工业照片级产品渲染的探索与实践 | 纪大伟 Epic Games:https://www.bilibili.com/video/
  4. 知乎资料:
    1. UE5次时代材质新系统Substrate绪论列表(美术&TA对象) - 俞先生(Owen):https://zhuanlan.zhihu.com/p/654585314
    2. UE5材质创建系统Substrate技术概述 - 3DMAX:https://zhuanlan.zhihu.com/p/630062365
    3. SIGGRAPH 2023-Unreal Engine 5 中的 Substrate - zhing2006:https://zhuanlan.zhihu.com/p/661399487
    4. 次表面散射 - 学习理论篇 - 小天才的文章:https://zhuanlan.zhihu.com/p/552322323
    5. 《哪吒》《大圣归来》在技术上是否已达到美国迪士尼梦工厂水平? - 默默默默默的回答:https://www.zhihu.com/question/389058916/answer/1220261455
    6. 【基于物理的渲染(PBR)白皮书】(一) 开篇:PBR核心知识体系总结与概览 - 毛星云的文章:https://zhuanlan.zhihu.com/p/53086060
  5. wiki
    1. Bidirectional reflectance distribution function: https://en.wikipedia.org/wiki/Bidirectional_reflectance_distribution_function
    2. Bidirectional scattering distribution function:https://en.wikipedia.org/wiki/Bidirectional_scattering_distribution_function
    3. Physically based rendering:https://en.wikipedia.org/wiki/Physically_based_rendering
    4. Refractive index:https://en.wikipedia.org/wiki/Refractive_index
  6. paper:
    1. Real Shading in Unreal Engine 4:https://blog.selfshadow.com/publications/s2013-shading-course/karis/s2013_pbs_epic_notes_v2.pdf
    2. A Practical Model for Subsurface Light Transport:https://jbit.net/~sparky/bssrdf.pdf
    3. Physically Based Shading at Disney:https://media.disneyanimation.com/uploads/production/publication_asset/48/asset/s2012_pbs_disney_brdf_notes_v3.pdf

转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 cdd@ahucd.cn

×

喜欢就点赞,疼爱就打赏

B站 cdd的庇护之地 github itch