The Outlining subgroup
3Delight for Maya can perform outlining on any number of any desired Image Layers, including:
- shading component AOVs
- auxiliary AOVs
- mask AOVs
- custom AOVs (any shading variable to can be used for outline detection if outputted as a custom AOV)
Outlining are typically used, for example, when doing toon/anime rendering or illustrations. They are often combined to CEL/toon shading, a type of non-photorealistic shading designed to make 3D computer graphics appear to be more "flat": the Maya Ramp Shader offer this kind of look.
It is also possible to render shaded wireframes on polygon meshes; see Polygons Wireframe.
An example scene can be found at this location inside your 3Delight installation: $DELIGHT/example/maya/outlines
.
Draw Outlines in this Layer
This attribute enables drawing of outlines for the selected layer. This can be seen as an indicator of which layer receives the outline. It is set to off by default.
Generate Outlines Using this Layer
This attribute enables outline generation using the specified layer. Good image layers for detection purposes are the ones with sharp color discontinuities which facilitate the detection algorithm. Usually the following image layers are used (often in combination) to generate outlines:
- surface color (auxiliary): this is the un-shaded and un-illuminated (textured) color of any object. It offers good stability, detection will act between colors and on any texturing color which will be present in the image layer, this means you can use ad-hoc textures to trigger detection of any detail you might want
- geometry ID (auxiliary): the unique color-coded geometry ID (supports also instances). It offers goods stability, and will detect an outilne between different object/instances
- shader ID (auxiliary): the unique color-coded shader/material ID. It offers goods stability, and will detect an outilne between different materials
- depth (auxiliary): this image layer is less stable, being view-dependent. An outline will be detected between regions at different depth
- camera space normal (auxiliary): this image layer is less stable, being view-dependent. An outline will be detected between regions where surface normal face away
- any geometry/material 3delightMaskSet (masks): being black and white masks offer perfect contrast for detection
There is a wide range of artistic possibilities as any number of AOVs (including masks, auxiliary and custom ones) can be used to detect outlines, regardless of how stable they are it is up to you and your artistic purposes to define the look.
When this toggle is enabled, a part of the UI becomes sensitive to set the parameters of the outlines.
Outline parameters become sensitive for layers generating the outline.
Threshold
Specifies the sensitivity of the outlining. The higher the threshold the more sensitive is the edge detection. For example, when detecting variations on ‘z’ (depth), a value of ‘0.1’ means that if there is a gap of ‘0.1’ between two surfaces (in the z direction) then an outline will be generated. This attribute is set to ‘0.1’ by default.
Color
Specifies the color of the generated outline. It is set to white by default.
Filter Width
Specifies the width of the generated outline. It is set to ‘0.2’ by default. Values between ‘0’ and ‘1’ are allowed, producing very fine outlines. In this case it is recommended to raise the Pixel Samples attribute (in the Quality group or rendering attributes) in order to avoid aliasing of the outlines. Next to this attribute, there is an option menu to determine how this width should be interpreted. The available options are:
Option | Description |
---|---|
Pixels | The filter width is a number of pixels. |
% of Frame Width | The filter width is taken as a percentage of the image resolution in X. |
Depth Based Fadeout
Specifies the edge thickness fadeout with depth. It is off by default.
Min Z
Max Z
These two attributes specify the depth range on which the fadeout will be performed. By default, "Min Z" is set to ‘0.0’ and ‘Max Z’ is set to ‘1000.0’.
Min Filter Width
The depth based fadeout will keep outlines with a minimum width specified by this attribute. Its default value is ‘1.0’.
Note that you can override the color and the width scale (thickness) of outlines on a shader-basis, by tweaking the relative attributes in any Maya ShadingGroup nodes: both accept texture mapping with any Maya shading node/network, and will use the UVs coordinate inherited by the geometry to which the surface shader is applied.