The MetaHuman Groom Starter Kit for Houdini demonstrates how to author a MetaHuman-compatible groom that can be applied to a MetaHuman Character or published on Fab. It gives an example of creating and styling a groom in Houdini that can be exported and integrated into a basic groom setup in Unreal Engine.
It includes a groom-ready Houdini scene with tools such as MH Groom Viewport Lights and MH Groom Workspace, and covers essential workflows including attribute painting, groom styling, viewport visualization, and exporting grooms using the MH Groom Export tool.
Prerequisites
Houdini 20.5 or higher, with Houdini Labs.
The MetaHuman for Houdini plugin installed. Without this Houdini plugin installed, an error will be raised when opening the scene.
The MetaHuman Groom Starter Kit for Houdini downloaded from Fab.
Unreal Engine 5.6 or later.
Houdini Project
The starter kit includes a Houdini project called Houdini_Groom_Template. It contains the .hip scene MH_Groom_Template. This template scene includes a basic groom graph with all the essential tools needed to generate and export a MetaHuman-compatible groom, as well as to re-import a groom Alembic file back into Houdini.
Opening the Houdini scene in a version prior to Houdini 21 will raise warnings mentioning vex strict variables on startup. However, these should not prevent you from working, and are due to Houdini 21 tools dependencies.
On opening the scene in Houdini, the groom graph should look like this:
The scene contains several nodes; a Geo node named Skin, the MH Groom Viewport Lights tool, MH Groom Export and MH Groom Import tool, as well as multiple MH Groom Workspaces named guides, strands, and assembly_groom.
MH Groom Head
MH Groom Head HDA exists in two versions, the latest Template scene will load MH_Groom_Head (Houdini 21), users that are in Houdini 20.5 should switch the HDA with MH_Groom_Head (Houdini 20) for compatibility reasons.
Inside the Geo node named Skin, the MH Groom Head tool exists. This node contains MH Groom Head geometry, which is a default grooming head geometry. It includes the head mesh and eye assets; eyeballs, eye shells, eye edges, cartilages. The tool contains a number of parameters for editing and visualizing the head geometry.
Houdini 21 offers an option to import a custom MH head from the exported MH character. Additionally, custom head geometry can be imported as .fbx or .abc files. They will work correctly in the tool if the topology is compatible with MH Groom Head.
Predefined regions can be used as grooming geometry for eyebrows, eyelashes, hair (scalp), and facial hair (face). Each of the regions has a separate output. All regions as well as a full head geo can be subdivided. This action is recommended in cases when skin attributes are painted onto the points. Head tool also provides VDB, with and without ears, which is necessary for a number of other tools to function, predominantly used as collision geometry. In the VDB Tab of the tool, voxel size can be set, the default works well in most cases.
The Skin node also contains Attribute Paint node, which is Houdini native tool for painting attributes. In this case Attribute Paint was used to paint the density attribute values onto the scalp region points.
MH Groom Viewport Lights
The MH Groom Viewport Lights tool is a utility that contains several rendering and lighting presets that can be used for viewport visualization. Additionally, the tool provides several background colors as well as lighting and camera settings parameters for preset customization.
MH Groom Workspaces
Another utility tool is MH Groom Workspace. It is a useful container for the groom graphs. Workarea includes several inputs and outputs that can be used to reference geometry from other workspaces, such as Strands, Guides, Skin, and Skin VDB. Output nodes can be referenced by other nodes in the graph or other MH Workspaces.
Node offers choice to reference SOP geometry, MH Workspace, and it can also initialize grooming head MH Groom Head.
It offers several hair shader presets, for better visualization of the strands output of the groom graph.
Users can set the attributes to be applied to guides, strands and skin and review groom statistics.
In the template scene, MH Groom Workspace is used several times for different purposes:
Guides workspace contains all the guide data that is created for the groom. In this case, Guide Groom tool is used for generating and shaping the guides. Guides workspace is referencing Out Head and Out Skin VDB nodes from the Skin geo node. Input Skin and Skin VDB Nulls are connected to Guide Groom, and its outputs are connected to workspace output nodes.
Strands workspace contains strands groom graph, Hair Generate node being responsible for scattering and generating interpolated hair using guide curves, skin geometry, skin VDB inputs, and Guide Interpolation Mesh node. Resample node is used for adjusting the number of points per curve and Guide Process nodes for styling interpolated hair.
Assembly Groom Workspace can be used to assemble multiple groom graphs that were built in different workspaces before the export is done.
MH Groom Export
Groom data will be exported as Alembic files with the MH Groom Export tool.
MH Groom Import
The MH Groom Import tool is used for importing Alembic files. It does the opposite operation from the export tool, it scales and transforms the groom back to be Z up and accommodate Houdini Units.
Additionally, the import tool will determine if there are any overlapping curves based on the Stands Threshold and Guides Threshold. Users can choose which action to take; Ignore, Mark, or Repair.
Unreal Engine Project
The Unreal Engine project provided in the starter kit contains a level with basic lighting setup, a MH Groom Head skeletal mesh with assigned Groom Asset, Groom Binding and MetaHuman Wardrobe Item.
Groom Asset
The Hair_MyGroom Alembic file contains basic attributes groom_width, groom_rootuv, groom_group_id, groom_id, and groom_guides. The MH Groom Export tool in Houdini allows for other attributes to be exported with Alembic files as well.
The Hair_MyGroom Groom Asset was created by importing the Hair_MyGroom Alembic file into Unreal Engine.
The Hair_MyGroom Groom Asset contains MI_Hair material which is assigned in the Materials Tab. MI_Hair is a MetaHuman-compatible hair material instance.
Groom Binding
SKM_MH_Groom_Head is a skeletal mesh that corresponds to the Houdini MH Groom Head mesh, which is a default grooming mesh provided in MH Groom Head Houdini tool.
SKM_MH_Groom_Head can be used as a Source Skeletal Mesh or Target Skeletal Mesh in the Binding Asset. In order for Groom Asset to be accurately attached to the skeletal mesh and move and deform with it, Groom Binding needs to be created.
If the aim is to attach Groom to SKM_MH_Groom_Head, this skeletal mesh should be assigned to Target Skeletal Mesh of the Groom Binding.
If the aim is to attach a groom to another MetaHuman-compatible head skeletal mesh, SKM_MH_Groom_Head needs to be assigned to the Source Skeletal Mesh and the MetaHuman-compatible head skeletal mesh should be assigned to Target Skeletal Mesh.
If the aim is to use the groom in Meta Human Creator in Unreal Engine, SKM_MH_Groom_Head should be assigned to both Source and Target Skeletal Mesh.
Once the Groom Binding Asset is set, the Groom Asset can be assigned to the Head Skeletal Mesh in the Level. SKM_MH_Groom_Head is imported into the level and Groom Component is assigned to it. In the Groom Asset slot Hair_MyGroom Groom Asset is assigned, and in the Binding Asset slot GB_Hair_MyGroom. With this setup in place, Hair_MyGroom will move and deform together with SKM_MH_Groom_Head.
MetaHuman Package File
The starter kit also includes a MetaHuman Package file (.mhpkg) — this is the format used when packaging MetaHuman-compatible assets to buy and sell on Fab. This is an example of how to structure the groom assets ready for packaging if you are making MetaHuman-compatible grooms to sell.
Drag and drop this file onto the Content Browser in Unreal Engine to add the contents to the project.
Once added to the project, you will see a Hair_MyGroom folder which contains a Groom Binding (GB_Hair_MyGroom) and MetaHuman Wardrobe Item (WI_Hair_MyGroom). The subfolder Hair_MyGroom contains all the dependent files, the Groom Asset (Hair_MyGroom) being one of them. The subfolder GroomMesh contains Grooming Head Skeletal Mesh, SKM_MH_Groom_Head, and accompanying skeleton and physics asset, while the Materials subfolder contains all the Hair and Head Materials, Material Functions, and Textures.
The MetaHuman Wardrobe Item asset contains all relevant information for a Groom that is intended to be used in the wardrobe of a character in MetaHuman Creator. It allows the groom to be customized when worn by the character in their costume. It references Groom Binding Asset, ensuring the groom will move and deform with the MetaHuman character head. Secondary colors can be configured here as well as material overrides. Baked Groom Textures are configured to appear on a particular LOD. The MHC Groom Thumbnail Image and Display Name are also set in MetaHuman Wardrobe Item.