透明

这里我们将要演示如何为Blender中兼容glTF的PBR,Cycles及Eevee材质开启透明度。Blender2.7内置材质不在此讨论,因为它们已被弃用,不建议使用。

Blended vs Masked

作为实时3D引擎,Verge3D提供了两种处理透明对象的主要方法:alpha blending和alpha clipping(通常使用图像蒙版)。blending可以将半透明前景色与背景色相结合,使用前景色的alpha作为混合参数。另一方面,clipping只是丢弃所有像素小于某个预定阈值(通常为0.5)的像素。

透明 - 图1

blending 可实现平滑过渡,通常看起来更好,但计算上比clipping更昂贵。 当多边形看起来以错误的顺序呈现时,它也可能产生z排序伪像。clipping最适合表现众多的小物体(例如草或树叶)。 它还会产生硬边,没有任何可能有锯齿的过渡。

Alpha Add(又名:无深度写入)

Verge3D还提供了一种特殊模式,用于在渲染时禁用写入深度缓冲区。这导致多边形被排除在像素深度比较之外。这些多边形以add方式合成,有时可以帮助摆脱混合伪像。

透明 - 图2

Rendering Order(又名:Z-index)

Verge3D不对对象内部的多边形进行排序,而是在对象之间执行排序。这在大多数情况下提供了正确的混合,但有时可能需要强制更改对象的渲染顺序。

要修改特定对象的渲染顺序,请更改Verge3D设置面板中的数字字段。索引越小,对象的渲染时间越早。

透明 - 图3

因此,如果后方有一个透明的连续对象,并且希望前面的其他透明对象能够正确渲染,可以为后方对象设置为负值。

透明 - 图4

兼容glTF的PBR材质的透明

要为此类材质启用透明度,请将alpha蒙版信息添加到颜色贴图的Alpha通道。然后将贴图的alpha通道与Verge3D PBR节点的Alpha输入连接。

透明 - 图5

使用AlphaMode滑块更改透明度类型:0将启用blending,1 – masking。

Cycles材质的透明

在Cycles中,可以通过使用Transparent BSDF和Mix Shader节点的组合来启用透明度。务必打开Verge3D设置面板上的透明度复选框。使用透明度类型选择器在blending和masking模式之间切换。

透明 - 图6

混合材质节点中的参数可用于定义Alpha值。您还可以将此输入与包含Alpha信息的贴图相连接。

透明 - 图7

使用Alpha Add Transparency复选框启用add模式。

Eevee材质的透明

与Cycles类似,可以通过使用Transparent BSDF和Mix Shader节点的组合来启用Eevee材质的透明度。Mix Shader节点中的参数可用于定义alpha值 – 您可以直接指定值或利用其他节点(如菲涅耳)进行控制,以获得更逼真的外观。

透明 - 图8

使用混合模式下拉菜单在透明模式之间选择。