Lighting and Rendering / Maya
This page contains the information about lighting, rendering and background settings which can be used with Verge3D for Maya.
- Environment Lighting
- Global Rendering Settings
- Outline Rendering
- Per-Object Rendering Settings
Verge3D is designed to represent Maya's Viewport 2.0 hardware renderer as closely as possible. It supports physically-based shading, lights, shadows and image-based lighting (IBL).
Environment lighting is a very important component of Verge3D graphics pipeline. You can illuminate your entire scene with just an environment map alone, without using any light objects. See the Scooter demo as an example of this approach.
The default cube template provides an HDR texture for image-based lighting. You can replace this texture with your own file, or setup environment lighting from scratch. To do so, simply append Arnold's aiSkyDomeLight object to your scene and assign some texture to it as Color.
In addition, you may use the Intensity attribute to tweak intensity of your environment lighting and Texture Resolution to configure its quality:
- Low (64x64) and Medium (128x128) - values are not supported, Verge3D will use High (256x256) setting instead of these.
- High (256x256) - optimum quality with low memory consumption (default value).
- Higher (512x512) - better quality with moderate memory consumption and reduced performance. Use it to render high quality reflections e.g for rendering jewelry.
- Ultra (1024x1024) - best quality with high memory consumption and low performance (generally not recommended).
When using HDR texture for your skydome, make sure you set the Color Space setting to Raw:
You can also aiSkyDomeLight without any texture to simulate light coming evenly from all directions. However, it's much more efficient to use Ambient Lights for that.
In some cases, using just image-based lighting to illuminate your scene is not enough. If you'd like to simulate some additional light source, need dynamic shadows, or if you need to move your lights (as with car lights), you may use direct light sources.
Verge3D supports the following light types:
- Ambient Lights - Color and Intensity attributes are supported in Verge3D.
- Directional Lights - Color and Intensity attributes are supported in Verge3D.
- Point Lights - Color, Intensity and Decay Rate attributes are supported in Verge3D.
- Spot Lights - Color, Intensity, Decay Rate, Cone Angle and Penumbra Angle attributes are supported in Verge3D.
- Area Lights — Color, Intensity attributes are supported in Verge3D. Light transform scaling controls the emissive area.
In addition, you can assign Depth Map Shadow Attributes on Directional, Point and Spot lights. See here for more info.
By default Verge3D renders the same background you see in Maya's Viewport (grey in most cases). When using image-based lighting (provided by aiSkyDomeLight objects) you see the environment texture instead.
To change your background to some other color, do not edit Viewport settings in Maya, simply assign Background Color and enable the Render Background attribute on your main camera:
You can use Maya's Render View window or Verge3D's Sneak Peek feature to preview the scene with custom background.
Global Rendering Settings
Global rendering settings accessible from the Verge3D Export Settings dialog window (Verge3D->Export Settings... in Maya menu).
Anti-Aliasing - select what anti-aliasing algorithm to use for the scene:
- Auto - use system default method.
- MSAA 4x - prefer multisample anti-aliasing with 4x samples if the target hardware supports it.
- MSAA 8x - prefer multisample anti-aliasing with 8x samples if the target hardware supports it.
- MSAA 16x - prefer multisample anti-aliasing with 16x samples if the target hardware supports it.
- FXAA - force FXAA.
- None - disable anti-aliasing.
Use HDR Rendering - enable high-dynamic-range rendering.
IBL Environment Mode
- PMREM (slow) - high quality (default value).
- Light Probe + Cubemap (medium) - reduced quality of image-based specular reflections, better performance.
- Light Probe (fast) - disabled image-based specular reflections, highest performance.
Outlining Effect - see below.
Outline rendering (aka silhouette edge rendering) is a common non-photorealistic rendering (NPR) technique that can significantly enhance the visual perception of your scene. This effect can be used for various applications such as e-learning, games, architecture visualization, and technical drawing.
To use object outlining (and optional glowing) in your Verge3D application, first enable the effect on the Blender's Render Properties panel, then use the outline puzzle to apply it to your object(s).
The outline rendering does not work inside AR/VR sessions. Use other methods to highlight your objects, such as animation or changing material's color.
You can tweak outlining using the following properties:
Enabled — enable/disable the effect.
Edge Strength — outlining strength factor.
Edge Glow — intensity of additional glowing (rendered beyond the main outline edge).
Edge Thickness — outline edge thickness factor.
Pulse Period — pulse period in seconds. Specify to make the effect animated.
Visible Edge Color — visible edge color.
Hidden Edge Color — color of the outline edge being rendered behind any other scene objects.
Render Hidden Edge — enable/disable rendering of the outline edge behind other scene objects.
Though it's possible to render glowing objects, in the most cases the outline rendering is used to improve visual clarity of your scene. If you need glowing from lamps or another bright objects, consider using the bloom post-processing instead.
Per-Object Rendering Settings
Verge3D supports the following additional rendering settings for your geometry objects:
Render Order - modifies the rendering order for a particular object. The smaller the index, the earlier the object will be rendered. In most cases, you need to tweak this value when using Blend transparency to eliminate transparency artifacts.
Frustum Culling - enables/disables frustum culling optimization for the object. Uncheck this option if you have some skinned object which can move beyond the screen space to prevent it from being culled.
Feel free to ask on the forums!