On this page

Houdini Engine for Unreal supports both inputting and outputting meshes to/from Unreal.

Input

There are multiple ways to import meshes from Unreal to Houdini. You can use geometry:

You can import sockets, colliders, and LOD static meshes into Houdini as groups and attributes. Check the Export checkboxes on the input UI.

Output

Mesh Generation

Houdini assets contain Objects, Geos, and Parts. These control how the geometery in Unreal splits into multiple meshes.

  • Object (OBJ) nodes are Houdini’s transform nodes. They can contain other OBJ nodes or geometry (SOP) nodes.

  • Geo (SOP) nodes are Houdini’s geometry container nodes. They don’t contain geometry but contain parts.

  • Parts contain the actual mesh/geometry/attribute data.

You can use packed primitives to separate multiples meshes in your output. An example is to create multiple parts from merged geometry. See Packed Primitives for more information.

A pack primitive creates its own part and Static Mesh. If you don’t copy the packed primitive multiple times, a static mesh is created instead of an instancer. The only thing that may split meshes further is collision groups or LOD groups.

To create a packed primitive:

  1. Connect the output of a geometry into the input of a Pack SOP.

  2. Repeat these steps for each geometry into a separate Pack SOP.

  3. Connect the output of each Pack SOP into the input of a Merge SOP.

    • When you import the HDA, the geometry will come in as a single static mesh. Once you bake it, they become separate Unreal Actors.

A Statich mesh is generated and regroups its LODS. Another static mesh is created for the non-collidable and non-LOD geometry. Additional meshes are created for each complex collision geometry group. Other groups in the asset will not split parts into separate meshes.

All the meshes generated by the asset are listed with their materials in the Houdini Outputs section.

This section details the type and number of colliders, LODs, sockets generated by the plugin for its corresponding Static Mesh.

Materials and Attributes

Houdini Engine for Unreal can recognize and convert various attributes to their Unreal equivalent.

Attribute Name

Owner

Type

Description

N

point, vertex

float3

Set the normals of the mesh. The plug-in can recompute the normals automatically. You can control this by changing the value of the Recompute Normals settings, located in the Static Mesh Build Settings part of the plug-in settings.

If normals are present, you can also have the tangents to be automatically recomputed by changing the Recompute Tangents plug-in settings.

uv

point, vertex

float2

Set the UV sets of the mesh. You can use up to eight different UV sets naming them uv, uv2..uv8

Cd

any

float3, float4

Set the vertex colors of the mesh

unreal_lightmap_resolution

any

int

Set the lightmap resolution of the mesh

unreal_material

point, vertex

string

Set the Unreal material on the faces of a mesh. The value of this attribute must be set to reference a material

All the different materials used by a mesh are in the Houdini Outputs section of the details panel. See Materials for more information.

unreal_face_smoothing_mask

prim

int

Set the mesh smoothing mask data

unreal_generated_mesh_name

any

string

Set the name used for the generated mesh

You can also add sockets and colliders to the mesh using special groups.

Nanite Settings

(UE5 only) The plugin can control the Nanite settings on the meshes found in the outputs of your HDA by using the following attributes:

Attribute Name

Owner

Type

Description

unreal_nanite_enabled

any

int

Enables Nanite on the generated meshes

unreal_nanite_position_precision

any

int

The position precision attribute to be used for Nanite Meshes

unreal_nanite_percent_triangles

any

int

The percent of triangles to keep for Nanite Meshes, zero by default (no triangles)

Having any of those 3 attributes automatically enabless Nanite on the generated Static Meshes. This only applies to refined meshes, as Houdini Proxy Meshes do not support Nanite.

Split Meshes

The latest versions of the plugin support multiple meshes on a single HDA output node. Since older versions of the plugin did not support this, there may be differences in behaviour when upgrading plugins. This feature can be disabled by unchecking “Split Mesh Support” in the HDA Component in Unreal, however the option to disable this feature will be removed in the near future.

Different meshes can be created by appending a unique identifier to the collision or lod group names. For example, rendered_collision_geo_A and rendererd_collision_geo_B will create two meshes. A group called lod_1_A will assign an LOD to the first mesh.

This feature is only available if the “Static Mesh Method” is set to “FMesh Description” and with unpacked primitives.

Meshes