Procedural Fur

This tutorial shows how to setup Golaem characters to use fur assets. Fur assets in Golaem are defined in a proprietary file format and can be imported from any fur system that can export to Alembic. Importing fur from XGen interactive grooming is supported automatically but it is also possible to use Alembic to import Yeti, Ornatrix, Houdini fur or any other system which can store its fur as an Alembic file:

Creating the fur assets in Maya

Golaem can convert XGen interactive grooming into fur assets directly from Maya (supported since Maya 2017). To create XGen interactive grooming fur on your meshes, refer to Maya's online help here. Previous workflow XGen fur is not supported, but can be converted to XGen interactive grooming as stated here.

For any other fur system, please refer to it's documentation to see how to create fur it in Maya and export it to Alembic.

Fur assets must be created from the same pose as the one defined in the Golaem character (see the Character Maker documentation here).

Importing fur in the Character Maker

Importing XGen interactive grooming fur

The Character Maker can import XGen Fur Assets according to the transform hierarchy defined in Maya, just like meshes. To import fur assets from XGen, select one or more xgmSplineDescription nodes or one or more transforms containing such nodes and click on the Import Geometry  button. For each XGen node, the user will be prompted to choose where to save the Golaem fur file (see animation below). The fur Shading Groups, Shader Assets and any connected Shader Attribute nodes are also imported, just like for mesh assets.

Importing XGen fur

Each Fur Asset node is automatically linked to the Mesh Asset(s) on which the fur is generated. This information is shown in the Asset Properties panel (see image below). The fur meshes must be present in the Maya scene in the same pose as the one defined in the Golaem character.

Importing fur manually from an Alembic file

Fur can be imported manually from other fur systems (such as Yeti, Ornatrix or Houdini Fur). The steps are described below.

Before importing fur from alembic files, make sure that the associated meshes are in the Maya scene in the same pose as the one defined in the Golaem character, and that they are imported as Mesh Assets in the Character Maker.

  1. Create a new Fur Asset node (either through drag and drop or by using the Tab key) and connect it to the geometry hierarchy. You can rename it to any name you want.
  2. Select the new Fur Asset node and, in the Asset Properties panel, click on the Import Fur  button.
  3. In the following dialog, select the Alembic file to import
  4. Select the fur mesh(es) on which to generate the fur (among the Mesh Assets already present in the Golaem character)
  5. Select the file to which to save the Golaem fur. After a processing step, this Golaem fur file and the associated Mesh Asset(s) will appear in the Asset Properties panel. A message in the script editor will show the number of curves that were successfully imported from the Alembic file. 
  6. Import fur shaders manually, either by creating Shader Groups and Shader Asset nodes manually or by selecting a shading group or shader and clicking on Import Geometry. Fur shaders will have to be assigned to a visible Maya geometry (mesh or fur) at render time.

Creating Fur Asset Variations

Fur Assets follow the same rules as Mesh Assets regarding asset variation, and they can be mixed with Mesh Assets in the same Asset Group. To create Fur Asset variations, connect several Fur Assets to a weighted Asset Goup node (see documentation here). The only additional constraint for a Fur Asset to be selected is that the associated Mesh Assets be selected, as fur cannot be generated without its supporting mesh(es). See below an example of Fur Asset variations.

Example of Fur Asset variations

Viewing Fur in Maya's Viewport

Fur can be previewed in Maya's Viewport 2.0 only in Cache Replay mode. To enable Fur previz, select the Simulation Cache Proxy Manager node and enable the Display Fur attribute in the Render Previz Fur Display Attributes group. You can also change the percentage of rendered fur with the Display Fur Percent attribute. This will only affect Viewport display, it doesn't apply to rendering.

Fur Previz Attributes

Fur previz is computed on the fly when changing the current Maya frame and stored into a memory cache. To refresh it, click on the Refresh Fur Cache button. If you edit the Simulation Cache Layout, you must save the Layout file and refresh the fur cache or switch to a frame that hasn't been cached yet to see the Fur previz changes.

Example of Fur Previz in Maya's Viewport 2.0

Fur Previz does not display shader variation, but colors and textures can be taken into account - fur root and tip colors can be different, as defined in a hairPhysicalShader node. They are defined in the Advanced Render Previz Display Attributes group on the Simulation Cache Proxy Manager node. 

Rendering Procedural Fur

Once the Fur Assets properly set up, just hit the render button. Shader variations work just like for Mesh Assets (see the texture / material diversity and color variation tutorials).

Example of Fur render in Arnold

Refreshing Fur Assets

If you change any fur aspect in Maya (sculpting, brushes, density, width, etc.), you'll need to refresh the Fur Asset files in the Character Maker. 

With XGen interactive grooming, you only need to reselect the XGen (xgmSplineDescription) node in Maya and click on the Import Geometry  button. You'll be prompted to save the Golaem fur file again. You can override the original file. Refreshing shaders also works with XGen interactive grooming, just like refreshing shaders for Mesh Assets, using the Reset Shader button in the Geometry Tab.

With other fur systems, you'll need to reexport the fur to Alembic, and redo the manual steps described in the section above.

Do not forget to save the character file after the fur files have been recreated.

If fur previz is active, you'll need to click on the Refresh Fur Cache button on the Simulation Cache Proxy Manager to see the changes.