Houdini Engine for Unreal
 All Files Pages
Meshes

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

Input

There are multiple ways that you can use to export meshes from Unreal to Houdini. You can use geometry:

Output

Mesh Generation

Houdini assets contain Objects, Geos and Parts. These will control the way the resulting geometry in Unreal will be split in 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 do not contain geometry directly, instead, they contain parts.
  • Parts contain the actual mesh/geometry/attribute data.

The only thing that might split mesh created from parts in the Unreal plug-in is the use of collision groups or LOD groups.

A Static Mesh will be created regrouping all the LODs found in the part. Another one will be created for all the non-collidable / non-lod geometry from a part. Finally, additional meshes will be created for each complex collision geometry group present in the part.

Other groups used in the asset will not split parts into separate meshes.

All the meshes generated by the asset will be listed with their materials in the Houdini Generated Meshes section.

Unreal_OutputMeshDetails.png

This section will detail the type and number of colliders, the number of LODs and the number of sockets generated bythe plugin for its corresponding Static Mesh.

Level of Details

Levels of Details can be generated easily by the plug-in via the use of LOD Groups .

Simply add the geometry for each LOD to a primitive group with a name starting with "lod", and the plug-in will create the corresponding level of details on the resulting Static Mesh. The alphabetical order of the group names will define the order of the LODs in the mesh (lod0 being the base level, then lod1, lod2 etc..).

LOD levels on a mesh can also be imported to Houdini: LOD groups will be automatically created by the plug-in if the mesh in a geometry input or world outliner input has more than one LOD level and the Export All LODs checkbox is ticked on the input.

LOD Settings can be changed via the use of Generic UProperty Attributes :

  • The LOD used for collision can be changed via a detail attribute named "unreal_uproperty_LODForCollision".
  • The Minimum LOD can be changed via a detail attribute named "unreal_uproperty_MinLOD".
  • The LOD group can be changed via a detail string attribute named "unreal_uproperty_LODGroup".

Screensize values for each lod can be changed via a "lodX_screensize" detail attribute (lodX being the name of the LOD), or a "lod_screensize" primitive attribute. Manually changing the Screensize values for the LOD levels will turn off "AutoComputeLODScreenSize" on the Static Mesh.

Meshes generated by Houdini Engine that have LOD groups will create Hierarchical Instanced Static Mesh Components when instanced, either via Packed Primitives or Object Instancers.

Note
Please make sure that the geometry inside of each LOD group is not packed, as the plugin will create a separate instancer instead of a LOD level for packed geometry.

Materials and Attributes

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

  • Normals

You can use the standard normal (N - Point/Vertex - Float3) to set the normals of the mesh.

The plug-in can recompute the normals automatically. This can be controlled 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 sets

UV sets can be defined with the standard uv attribute (uv - Point/Vertex - Float2).

You can use up to 8 different uv sets by naming them respectively uv, uv2, uv3... uv8.

  • Colors

Vertex colors can be set by using the standard Color Diffuse attribute (Cd - Any - Float3 / Float4).

  • Lightmap resolution

The lightmap resolution of the mesh can be set by using the unreal_lightmap_resolution Integer attribute.

  • Materials

You can set up the Unreal Material used on the faces of a mesh by using the unreal_material string attribute, either on vertices or points. The value of this attribute must be set to a reference to a Material in the content browser (obtained by right clicking > "Copy Reference").

All the different materials used by a mesh will be listed in the Houdini Generated Meshes section of the details panel. Please see Materials for more information.

  • Face Smoothing

The mesh smoothing mask data can be set by adding the unreal_face_smoothing_mask Int attribute on the primitives.

  • Generated Mesh Name

You can set the name used for the mesh generated by the plug-in by using the unreal_generated_mesh_name string attribute.

  • Colliders and Sockets

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