Substrate使用自有的一组混合模式来定义材质颜色如何与背景混合。旧版材质混合模式在彼此混合方面效果有限,所以能够创建的材质类型受限。Substrate的混合模式选择更多,可将材质混合到一起,形成各种各样的材质。这对于实现物理上正确的半透明表面着色尤其重要。
Substrate包括以下混合模式:

| 混合模式 | 说明 |
|---|
| 半透明(Opaque) | 定义了光线既不能通过也不能穿透的表面。覆盖范围是1的不透明表面。这与旧版不透明混合模式相同。 |
| 遮罩(Masked) | 用于需要以二元(开/关)方式选择性控制可视性的材质。覆盖范围是1或0的不透明表面。这与旧版遮罩混合模式相同。 |
| 半透明灰色透射率(TranslucentGreyTransmittance) | 一种具有彩色表面和覆盖范围,但透射率减少为灰阶的半透明材质。这可以加快速度,因为它可以防止将后景深半透明额外渲染成调制通道。这是退却混合模式,适合不支持硬件彩色半透明度(称为双源颜色混合)的平台。这类似于旧版半透明混合模式。 |
| 叠加(Additive) | 将材质颜色添加到背景颜色,其中最终颜色 = 源颜色 + 目标颜色。 |
仅限彩色半透明 (ColoredTranslucencyOnly) | 仅使用材质的透射率。表面相互作用减少到0。这与旧版乘混合模式相同。 |
Alpha复合(预乘的Alpha) (AlphaComposite (Premultiplied Alpha)) | 此混合模式用于更精细地控制材质的哪些部分以叠加方式混合,哪些部分使用不透明度输入以半透明方式混合。工作方式与旧版Alpha复合(预乘的Alpha)混合模式相同。 |
Alpha维持 (AlphaHoldout) | 此混合模式将维持Alpha,以便给对象打孔,露出后面的对象。工作方式与旧版AlphaHoldout混合模式相同。 |
半透明彩色透射率 (TranslucentColored Transmittance) | 一种具有彩色表面、覆盖范围和彩色透射率的全功能半透明材质。在景深后期处理时使用单独半透明的开销更大,因为必须在单独的缓冲区中渲染透射率分量,类似于旧版薄半透明(ThinTranslucent)着色模型。 |
利用Substrate处理半透明比传统材质更简单,半透明混合模式的意图更明确。这两者都有一个方面没有发生变化,即所有半透明混合模式还必须设置 光照模式(Lighting Mode) 来定义如何计算表面的光照。这对于实现半透明材质的正确外观很重要。
你创建的绝大部分半透明材质都将使用 表面半透明体积(Surface Translucency Volume) 或 表面正向着色(Surface Forward Shading) 。
以下光照模式可供选择:
| 光照模式 | 说明 |
|---|
体积非定向 (Volumetric NonDirectional) | 将针对体积计算照明,且照明没有方向性。此设置用于烟雾和灰尘等粒子特效。这是最经济实惠的逐像素光照方法。但是,没有考虑材质法线。 |
体积定向 (Volumetric Directional) | 将针对体积计算照明,且照明具有方向性,因此材质法线也被纳入考虑范围。请注意,默认粒子切线空间面向摄像机,因此,启用"生成球体粒子(Generate Spherical Particles)"可获得更有用的切线空间。 |
体积逐顶点非定向 (Volumetric PerVertex NonDirectional) | 与体积非定向相同,但光照仅在顶点处求值,因此像素着色器开销低得多。请注意,光照仍然来自体积纹理,因此范围有限。定向光源在远处无阴影。 |
| 体积逐顶点定向(Volumetric PerVertex Directional) | 与体积定向相同,但光照仅在顶点处求值,因此像素着色器开销低得多。请注意,光照仍然来自体积纹理,因此范围有限。定向光源在远处无阴影。 |
| 表面半透明体积(Surface Translucency Volume) | 将为表面计算光照。光线会在体积中累积,因此结果比较模糊,距离也有限,但逐像素开销非常低。可在半透明表面(如玻璃和水)上使用。仅支持漫反射光照。 |
| 表面前向着色(Surface ForwardShading) | 将为表面计算光照。可在半透明表面(如玻璃和水)上使用。这使用前向着色来实现,因此支持来自局部光源的高光度高光,但不支持许多纯延迟功能。这是开销最大的半透明光照方法,因为每个光源的贡献量逐像素计算。 |
相信很多人在Substance发布之初都看过Allegorithmic出的PBR综合指南PBR Guide,里面有介绍过F0反射率值,也看过下图这个示例。

绝缘体反射光的总量比金属小非常多。对于常见绝缘体这一数值为2-5%,在sRGB中这一数值会在sRGB 40-75 之间,即0.02-0.05(线性)范围。对于金属,镜面反射范围在70-100%之间,映射到 sRGB 即180-255之间。
F0以导体和非导体(金属和非金属)为分类,将F0数值进行区分。
其中非金属具有单色/灰色镜面反射颜色。而金属具有彩色的镜面反射颜色。即非金属的F0是一个float,而金属的F0是一个float3。

之前在材质系统中所使用的基于BDRF的两套PBR工作流程。

两种PBR材质Basecolor+Metalic与Albdeo(Diffuse)+F0(SpecularLevel镜面反射等级)效果的对比,两种流程效果一模一样。注意这里没有展示Roughness灰度图。


对于新的Substrate材质有人会担心需要新的制作流程,这里可以不用担心,Substrate提供了新的节点,“Substrate Metalness-To-DiffuseAlbedo-F0”,可以将BaseColor和Metallic转换为DiffuseAlbedo和F0。

在使用新的Substrate材质后,新建材质球,都会默认有“Substrate UE4 Default Shading”节点,看起来熟悉又陌生。

两种流程一种使用“Substrate UE4 Default Shading”,将材质直接连接。

另一种使用“Substrare Slab BSDF - Simple”节点,配合“Substrate Metalness-To-DiffuseAlbedo-F0”一起使用。

同样都是PBR流程的材质,所以效果一模一样。

右键创建高光度描述文件

只有Substrate Slab BSDF-ComplexSpecial可以添加高光度描述文件,将高光度描述文件放在对应材质选项中。

通过调节高光度描述文件的LUT值,可以轻松做出“五彩斑斓的黑”效果,同样也在制作珍珠,泡沫等多种表面反射颜色的材质。

同样的也可以制作珍珠材质。


文章转载自
Thepoly