Transparency / Maya

Here we show how to enable transparency for Standard Surface, Lambert, and glTF-compliant PBR materials in Maya.

For usage example, check out the Transparency demo (source files available in the Asset Store).

Blended vs Masked

Being a real-time 3D engine, Verge3D offers two main methods to handle transparent objects: alpha blending and alpha clipping (usually with an image mask). Blending enables combining a translucent foreground color with a background color, using the foreground color's alpha as blending factor. Clipping, on the other hand, simply discards all pixels with alpha less than some predefined threshold (always equal to 0.5 in Verge3D for Maya).

Alpha Blend vs Alpha Clip comparison

Blending enables for smooth transitions, generally looks nicer but computationally more expensive than clipping. It may also produce z-sorting artifacts when polygons appear to be rendered in wrong order. Clipping works best for visualizing numerous small objects (such as grass or tree leaves). It also produces hard edges without any transitions which may be aliased.

Use Alpha Mode dropdown in the material settings to choose between blending and masking:

Setting alpha mode in Maya

There is also variation of the Mask mode called Coverage. It uses MSAA rendering to improve the quality of alpha clipping.

Additive Compositing (aka Additive Blending)

Verge3D also offers a special method for rendering transparent surfaces called additive compositing. By blending in additive manner and excluding polygons from pixel depth comparison you can get rid of transparency artifacts.

Alpha blend vs additive compositing

To enable this mode select Add in the Alpha Mode dropdown and uncheck the Depth Write option in material settings to enable this mode. In addition, you'll need to increase the Rendering Order value in object settings to make your transparent object rendered above all.

Order-Independent Transparency (OIT)

Verge3D allows the use of an approximate order-independent transparency technique, which do not require rendering geometry in sorted order, so it solves most transparency issues without any of the above considerations.

Order-Independent Transparency example

OIT can be enabled though the Verge3D Settings panel.

Order-Independent Transparency setting in Maya

Known limitations:

Transparency for Standard Surface Materials

Transparency of Standard Surface (or aiStandardSurface) materials can be tweaked using the following material settings:

Setting transparency for Standard Surface materials

Parameters:

Transmission Weight
Transmission factor of thin-walled and refractive materials.
Transmission Color
Color of refractive (Thin Walled off) material.
Thin Walled
Use generic thin-walled or refraction-based transparency.
Opacity
Opacity factor for thin-walled materials.
Alpha Mode
Material transparency mode.
Depth Write
Disable for additive transparency composing (see above).

By default in Maya, the Thin Walled parameter is unchecked, which disables the most typical transparency rendering you expected to see in your interactive app. Always keep an eye on this setting when you're dealing with the transparent Standard Surface materials.

Transparency for glTF-compliant PBR Materials

In order to enable transparency for such materials, one should bake transparency map as 4 (alpha) component of the base color texture and connect Alpha output of that texture to the Opacity input of the Standard Surface material.

Setting up transparency for glTF 2.0-compatible materials

When no base color texture available, simply use unconnected Opacity parameter.

Use the Alpha Mode dropdown to choose between the supported transparency modes: Auto, Opaque, Blend, or Mask.

Got Questions?

Feel free to ask on the forums!