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.
Materials and Attributes ¶
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.
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 |
---|---|---|---|
|
any |
int |
Enables Nanite on the generated meshes |
|
any |
int |
The position precision attribute to be used for Nanite Meshes |
|
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.