>>> VRayToon >>>
Why an atmospheric effect?
Creating a VRayToon atmospheric effect
Search Keywords: toon, effects, contour, outline, line
VRayToon is a very simple atmospheric plugin that produces cartoon-style outlines on objects in the scene. The source of VRayToon is available as part of the V-Ray SDK. Note that VRayToon is not intended to be a full NPR (non-photorealistic rendering) effect. However, it may be useful in many cases.
There are several solutions for adding toon effects to 3d renderings for 3ds Max; most of them function either as special materials (shaders) or as render (post) effects. Each of these approaches has both advantages and limitations. VRayToon has been implemented as an atmospheric effect for several reasons:
- The implementation is very simple.
- Works with any geometry supported by V-Ray, including displaced objects, VRayFur and VRayProxy objects, etc.
- Works with any camera type supported by V-Ray (spherical, fish-eye etc).
- Works with any camera effects (depth of field and/or motion blur).
- Works with raytraced effects such as reflection and refraction.
- Smooth and consistent outlines for intersecting objects.
VRayToon can be created from the Environment dialog of 3ds Max. To create a VRayToon effect choose Rendering > Effects... from the 3ds Max main menu. Then click the button and choose VRayToon:
Line color - this is the color of the outlines.
Pixels width - this is the width of the outlines in pixels.
World pixels width - this is the width of the outlines in world units. Lines closer to the camera will be thicker.
Opacity - opacity of the outlines.
Normal threshold - this determines when lines will be created for parts of the same object with varying surface normals (for example, at the inside edges of a box). A value of 0.0 means that only 90 degrees or larger angles will generate internal lines. Higher values mean that more smooth normals can also generate an edge. Don't set this value to pure 1.0 as this will fill curved objects completely.
Overlap threshold - this determines when outlines will be created for overlapping parts of one and the same object. Lower values will reduce the internal overlapping lines, while higher values will produce more overlap lines. Don't set this value to pure 1.0 as this will fill curved objects completely.
Do reflections/refractions - this will cause the outlines to appear in reflections/refractions as well. Note that this may increase render times.
Trace bias - this parameter depends on the scale of your scene, it determines the ray bias when the outlines are traced in reflections/refractions.
Hide inner edges - when this option is enabled the inner edges of the geometry won't be considered for the calculation of the edges texture.
Compensate camera exposure - when this option is enabled the Line color value will be automatically adjusted to compensate for the exposure correction applied by the camera
This group of parameters allows the user to control the outlines using various texture maps.
Color map - a texture map for the outline color. Screen-mapped maps will work best. Maps with World XYZ mapping are also supported, but may not work very well.
Width map - a multiplier texture for the outline width. Screen-mapped maps will work best. Maps with World XYZ mapping are also supported, but may not work very well.
Distortion map - a texture that will be used to distort the outlines. This works similar to bump-mapping and will take the gradient of the texture as direction for distortion. Note that high output values may be required for larger distortion. Screen-mapped textures work best, although World XYZ mapping is also supported.
Opacity map - a texture for the outline opacity. Screen-mapped textures work best, although World XYZ mapping is also supported.
Include/exclude objectsUsing these controls you can specify which objects will be affected by the VRayToon atmospheric. Using these options, you can achieve different outlines for different objects in the scene. To do this, you need to create several VRayToon atmospherics and include each object in one of them.