Hair rendered with Maxwell. Image courtesy of Mihai Iliuta
Maxwell Render uses the MaxwellHair.mxx procedural primitive to be able to read fur and hair fibers (generated by Shave&Haircut, Maya Hair, Ornatrix, etc) and render them without the need to convert the fibers into triangles. Skipping the need of converting millions of fibers into triangles allows you to save a huge amount of space in memory, and reduces the size of the scene files, saving space in disk and transfer time.
The MaxwellHair.mxx is located on the extensions subfolder, inside the Maxwell application folder, and must be there to allow Maxwell rendering fibers.
It is important to note that MaxwellHair.mxx is not a fur/hair generator. It reads the fibers provided by a fur/hair generator (like Shave&Haircut, Maya Hair, Ornatrix, Softimage Hair, etc) and allows them to be rendered by Maxwell Render.
The fur and hair generators currently supported by MaxwellHair.mxx are:
- Shave&Haircut for Maya (by Joe Alter)
- Ornatrix for 3DSMax (by Ephere)
- Hairtrix for 3DSMax (by Ephere)
- Maya Hair from Maya (more details in this section)
- Hair from 3DSMax
- Houdini Fur from Houdini
- Softimage Hair from Softimage
- Cinema Hair from Cinema4D
Generating fur using Shave&Haircut in Maya
You can setup the fur/hair by using density maps, and adjusting the root radius and tip radius, as well as frizz, kink or other styling effects, depending on the capabilities of your fur/hair generator. Maxwell renders the fur/hair with full global illumination, and all other realistic lighting effects, providing a very natural look.
Animal fur rendered with the MaxwellHair extension
The number of segments of each fiber can affect the render performance. In general terms, keep in mind these rules:
- The more hair segments, the larger the RAM consumption, but the render will be faster if the hair is longer (as the bounding box of each segment can follow the hair shape more precisely, reducing unnecessary bounding boxes intersections). For shorter hair, increasing the segments beyond a certain value will not decrease the render time anymore and instead only increase the RAM usage unnecessarily.
- The less hair segments, the smaller the RAM consumption (as it involves less point information), but render time will increase for longer hair.
Applying a Maxwell Material
To get the maximum control over the look you have to apply a Maxwell Material to the fur/hair. Because most of the realistic look of the hair comes from the accurate shading of Maxwell Render, a simple Maxwell material is usually enough, for example composed of two BSDFs: one to indicate the color of the fur/hair, and another to add certain shininess. A metallic material mixed with a diffuse one can also work well. Additionally you have great control over the texturing both along the strand length and across the roots (see below).
Mapping the Fur/Hair
In most situations you may need to define the color of the fur/hair using maps. Maxwell Render recognizes two UV channels:
- UV Channel = 0, a map that is applied to the longitudinal dimension of each fiber, to define different colors along the fiber, from root to tip.
- UV Channel = 1, a map that is applied across the surface of the furry object, to define different colors at different areas.
A gradient map applied on the UV Channel = 0, provides different colors along the fur fiber.
The root-to-tip texture is read vertically (only the first column matters)
A color map applied on the UV Channel = 1, provides different colors across the surface. The map values are assigned regarding the surface UVs
Fur Tutorial (in 3DSMax)
This tutorial from Jerome Denis (included in the Tutorials section) explains how to create this teddy bear look using 3DSMax Hairfx fur.
Image and tutorial courtesy of Jerome Denis