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:
-
from an asset in the content browser via Geometry Inputs.
-
from an Actor in the level by using a World Outliner Inputs.
-
from a Landscape through Landscape Inputs.
-
from another Houdini Asset, by connecting them together in Houdini using Asset Inputs.
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:
-
Connect the output of a geometry into the input of a Pack SOP.
-
Repeat these steps for each geometry into a separate Pack SOP.
-
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.
Split Meshes ¶
The latest versions of the plugin support multiple meshes on a single HDA output node. This feature is only available with unpacked primitives.
Since older versions of the plugin did not support this, there may be differences in behaviour when using older HDA files.
To turn off this feature:
-
In the HDA Component, turn off the checkbox Split Mesh Support. The option to turn off this feature will be removed soon.
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.
Attributes ¶
General ¶
Houdini Engine for Unreal can recognize and convert various attributes to their Unreal equivalent.
Attribute Name |
Owner |
Type |
Description |
---|---|---|---|
|
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. |
|
point, vertex |
float2 |
Set the UV sets of the mesh. You can use up to eight different UV sets naming them |
|
any |
float3, float4 |
Set the vertex colors of the mesh |
|
any |
int |
Set the lightmap resolution of the mesh |
|
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. |
|
prim |
int |
Set the mesh smoothing mask data |
|
any |
string |
Set the name used for the generated mesh |
You can also add sockets and colliders to the mesh using special groups.
Houdini to Unreal ¶
This table lists special attributes to set in an HDA and the plugin recognizes when you translate the Houdini data to Unreal outputs. You can setup these attributes on your assets to control and override some properties and behaviours of the generated Unreal outputs. See Attributes and Groups for more information.
Meshes ¶
Attribute Name |
Owner |
Type |
Description |
|
---|---|---|---|---|
|
any |
int |
Lightmap resolution for the mesh component |
|
|
any |
string |
Name to be used for the output. Default value for single landscape actor: |
|
|
any |
int |
Meshes |
If not |
|
any |
string |
(deprecated) use |
|
|
any |
int |
Enables Nanite on the generated meshes (UE5) |
|
|
any |
int |
The position precision attribute to be used for Nanite Meshes (UE5) |
|
|
any |
int |
The percent of triangles to keep for Nanite Meshes, zero by default (no triangles) (UE5) |
Meshes Nanite ¶
(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 |
---|---|---|---|
|
any |
int |
Turns on Nanite on the generated meshes. |
|
any |
int |
The position precision attribute for Nanite Meshes. |
|
any |
int |
The percent of triangles to keep for Nanite Meshes, zero by default (no triangles). |
|
any |
float |
Fallback relative error - sets the maximum amount of relative error allowed when removing details from the source mesh. This relative error value doesn’t have a unit size and is relative to the size of the mesh. |
|
any |
float |
Trim relative error - All detail in the source mesh with less visual impact than this relative error amount is removed. This relative error value doesn’t have a unit size and is relative to the size of the mesh. |
Having any of those three attributes automatically enables Nanite on the generated Static Meshes. This only applies to refined meshes, as Houdini Proxy Meshes do not support Nanite.
Unreal to Houdini ¶
See Attributes Inputs for a list of mesh attributes.