透明度 / 3ds Max

在这里,我们展示了如何在3ds Max中为Physical、OpenPBR、Standard和glTF兼容的PBR材质启用和调整透明特性。

有关使用示例,请查看 Transparency 演示(也可在资源商店中找到)。

混合与蒙版

作为一个实时渲染3D引擎,Verge3D提供了两种主要的方法来处理透明物体:alpha混合和alpha剪切(通常需要一个图像蒙版)。混合法(blending)可以将一个半透明的前景色与背景色结合起来,使用前景色的alpha作为混合系数。相对而言,剪切法(clipping)只是简单地丢弃所有alpha值小于某个预定义阈值的像素(在Verge3D for 3ds Max中总是等于0.5)。

Alpha Blend与Alpha Clip对比

混合可以实现平滑过渡,通常看起来更漂亮,但计算成本比剪切高。当多边形以错误的顺序被渲染时,它也可能产生Z向排序的伪影。剪切法更适合用于可视化大量小物体的场景(如草和树叶)。但它会产生没有任何过渡的硬边缘,可能会出现锯齿。

使用材质设置中的 Alpha Mode 下拉菜单,在混合和遮蔽之间进行选择。

在3ds Max中选择透明模式

还有一种 Mask 模式的变体称为 Coverage。它使用MSAA渲染来提高alpha剪切的质量。

加法合成(又称加法混合)

Verge3D还提供了一种特殊的透明表面渲染方法,称为加法合成。通过以加法方式混合并将多边形排除在像素深度比较之外,可以消除透明度伪影。

Alpha Blend与加法合成对比

Alpha Mode 下拉菜单中选择 Add,并取消勾选材质设置中的 Depth Write 选项以启用该模式。此外,您还需要增大 对象设置 中的 Rendering Order 值,使透明对象渲染在所有其他对象之上。

顺序无关透明度(OIT)

Verge3D允许使用近似的顺序无关透明度技术,该技术不需要按排序顺序渲染几何体,因此无需上述任何考虑即可解决大多数透明度问题。

顺序无关透明度示例

OIT可以在 Verge3D导出设置 对话框中启用。

3ds Max中的顺序无关透明度设置

已知限制:

物理材质的透明度

Physical(以及OpenPBR)材质的透明度可以通过同名的材质设置进行调整。

Physical材质的透明度设置

参数:

Transparency
透明度的权重、颜色和粗糙度。颜色和粗糙度参数只支持基于折射的透明度(Thin-walled 关闭时)。
Thin-walled
使用通用的(Thin-walled 打开时)或基于折射的(Thin-walled 关闭时)透明度。
Alpha Mode
材质的透明度模式。
Auto
查看材质以解析可能的透明度方法:OpaqueBlend
Opaque
渲染材质时不带透明度。
Blend
混合透明度(参见上文)。
Add
加法透明度合成(参见上文)。
Mask
蒙版透明度(参见上文)。
Coverage
哈希透明度,又称alpha to coverage。此方法介于蒙版和混合透明度之间。它使用MSAA渲染来提高alpha剪切的质量。
Transparency Hack
启用两种非标准渲染方法之一来消除透明度伪影:
Nearest Layer
通过使用单独的深度缓冲区进行剔除(又称"深度预处理"),仅渲染最靠近摄影机的透明层。
Two-Pass
先渲染背面表面,然后渲染正面表面。此方法仅适用于双面材质,即应设置 2-Sided 属性。
两种透明度技巧都会降低性能,因此仅在真正需要时使用。
Depth Write
禁用以启用加法透明度合成(参见上文)。

在3ds Max中,默认情况下 Thin-walled 参数是关闭的,这会使得在网页应用中的渲染与您的预期不同,最典型的透明度渲染会失效。当您处理透明的物理材质时,一定要留意这个设置。

可以将贴图和图像的任意组合连接到 Transparency Map 输入节点,来影响透明度。

使用贴图的透明物理材质

标准材质的透明度

标准材质的透明度可以通过材质设置中的 Opacity 进行调整。

在3ds Max中调整标准材质的透明度

可以用标准材质的 Opacity 输入创建有趣的依赖关系,以获得更好的真实感。

使用Falloff贴图调整3ds Max中的透明度

可使用在alpha通道中含有透明信息的图像作为输入。也可以使用一个单独的alpha图像。

带有透明度的3ds Max标准材质

使用 Alpha Mode 下拉菜单来选择透明模式。

glTF兼容的PBR材质的透明度

为了使此类材质具有透明度,需要使用一个 单独的 alpha贴图与物理材质的 Transparency Map 输入相连。

3ds Max中的glTF 2.0兼容材质设置

使用 Alpha Mode 下拉菜单来选择支持的透明模式:AutoOpaqueBlendMask

遇到问题?

欢迎您随时在 论坛上提问!您还可以加入中文用户社区QQ群(171678760),在线寻求帮助。