Unreal Engine Hair

The Unreal Engine’s Hair rendering and simulation system uses a strand-based workflow to render each individual strand of hair with physically accurate motion. It enables artists to simulate and render hundreds of thousands (or more) photoreal hairs in real-time for grooms created in DCC packages.

Traditionally, hair that has been created for use in real-time engines has been created using card-based techniques, or other similar approximation. Card based workflows use a large number of flat sheets (or cards) to give the approximate shape, and motion, of a much larger number of individual hairs. Using the Groom system and tools of Unreal Engine enables you to render each individual strand of hair, which significantly improves visual fidelity of simulated hair in real time.

While no standard format currently exists for hair grooms, the groom system provides a naming convention-based scheme using Alembic (.abc) files to ingest data exported from your modeling application. It provides support for multiple hair groupings within a single file, such as head, vellus, beard, eye lashes, and brows, a hair shader and rendering system, and dynamic physics integration driven by Niagara.

The groom system provides a minimal viable implementation of strand-based hair importing, editor, rendering, and simulation. The system does not provide a hair grooming solution. Hair shaping, or grooming, needs to be performed in your external modeling application, such as XGen within Maya, Ornatrix, Yeti, Shave and a Haircut, or Houdini.