联系电话:18652913986
行业资讯位置:首页 > 行业资讯
浅谈UE新材质系统Substrate
发表时间:2024-05-30     阅读次数:     字体:【
4
Substrate混合模式




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)着色模型。


5
光照模式




用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)将为表面计算光照。可在半透明表面(如玻璃和水)上使用。这使用前向着色来实现,因此支持来自局部光源的高光度高光,但不支持许多纯延迟功能。这是开销最大的半透明光照方法,因为每个光源的贡献量逐像素计算。


6
小总结一下




信很多人在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灰度图。

图片

图片


5
需要更改制作流程吗




对于新的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流程的材质,所以效果一模一样。

图片


6
SpecularProfile高光度描述文件




右键创建高光度描述文件

图片

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

图片

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

图片

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

图片

图片




文章转载自

Thepoly

 
上一篇:浅谈UE新材质系统Substrate
下一篇:两款UE天气系统插件