Houdini Engine for Unreal
|
Certain special groups and attributes are used when marshalling data between Houdini and Unreal.
See the referenced topics for more details.
This table lists special attributes which will be recognized when marshalling data from Houdini to Unreal.
Attribute Name | Owner | Type | Topic | Description |
---|---|---|---|---|
unreal_instance | point, detail | string | Instances | Unreal path of an Asset to instance at the given owner transform. |
unreal_split_instances | detail | any | Instances | Instances should be split into StaticMeshComponents instead of one UInstancedStaticMeshComponent. |
unreal_instance_color | prim | float[4] | Instances | Use with unreal_split_instances to specify a per-instance color to override the UStaticMeshComponent vertex colors. |
unreal_material | prim, detail | string | Materials | Unreal path of a Material asset to apply to a part. |
unreal_face_material | prim, detail | string | Materials | Deprecated: use unreal_material instead. |
unreal_material_hole | prim, detail | string | Landscapes | Unreal path of a Material asset used for Landscape holes. |
unreal_material_instance | prim, detail | string | Material Instances | Unreal path of a Material asset to create an instance of. |
unreal_material_hole_instance | prim, detail | string | Material Instances | Unreal path of a Material asset to create an instance of, to be used for Landscape holes. |
unreal_face_smoothing_mask | prim | int | Materials | Mesh smoothing mask data. |
unreal_lightmap_resolution | any | int | Meshes | Lightmap resolution for the mesh component. |
unreal_generated_mesh_name | any | string | Meshes | Name to use for the mesh component. |
unreal_landscape_layer_nonweightblended | prim | string | Landscapes | Names of the heightfields masks separated by spaces. |
unreal_uproperty_* | detail, prim | int/float/string | Generic UProperty Attributes | Attribute prefix used to modify UProperties. |
unreal_material_parameter_* | detail | int/float/string | Material Instances | Attribute prefix used to modify material instance parameters. |
unreal_bake_folder | detail | string | Baking Outputs | Unreal path of a Folder used to override the default Bake folder for this asset. |
mesh_socket_name | point | string | Mesh Sockets | Name of a mesh Socket generated by Point Groups. |
mesh_socket_tag | point | string | Mesh Sockets | Tag of a mesh Socket generated by Point Groups. |
mesh_socket_actor | point | string | Mesh Sockets | Name of an Actor to be automatically attached to a socket generated by Point Groups. |
mesh_socketX_pos | detail | float[3] | Mesh Sockets | Vector3 representing a Mesh Socket's location. |
mesh_socketX_rot | detail | float[4] | Mesh Sockets | Quaternion used for a Mesh Socket's location. |
mesh_socketX_scale | detail | float[3] | Mesh Sockets | Vector3 representing a Mesh Socket's Scale. |
mesh_socketX_name | detail | string | Mesh Sockets | Name of a generated Mesh Socket. |
mesh_socketX_tag | detail | string | Mesh Sockets | Tag of a generated Mesh Socket. |
mesh_socketX_actor | detail | string | Mesh Sockets | Name of an Actor to be automatically attached to a socket. |
lod_screensize | detail, prim | floats | Level of Details | Screensize values for the LODs generated by the current assets. |
Setting up those attributes on your asset will allow you to control and override some properties of the generated Unreal geometry.
Please consult the corresponding Topic for more details.
This table lists special attributes which are created by the plug-in when marshaling data from Unreal to Houdini.
Attribute Name | Owner | Type | Topic | Description |
---|---|---|---|---|
unreal_material | prim | string | Materials | Unreal path of the Material applied to the mesh |
unreal_material_hole | prim, detail | string | Landscape Inputs | Unreal path of the Landscape hole Material used by the Landscape |
unreal_face_smoothing_mask | prim | int | Materials | Mesh smoothing mask data values on the mesh's faces. |
unreal_lightmap_resolution | detail | int | Meshes | Mesh component lightmap resolution if not set to default |
unreal_vertex_index | point | int2 | Landscape Inputs | Component vertex indices (indices of vertices within the grid - x,y) |
unreal_input_mesh_name | prim | string | Geometry Inputs | Unreal path of the mesh uasset plugged to the input |
unreal_input_source_file | prim | string | Geometry Inputs | The source path of the uasset plugged into the input (file path to .fbx for example) |
unreal_lightmap_color | point | float4 | Landscape Inputs | Landscape lightmap color value |
These attributes will be available in Houdini when using Inputs to marshall data from Unreal to Houdini.
These Standard Houdini Attributes will generally also be available: position (p), vertex colors (Cd, Alpha), normals (N) and UV sets (uv, uvX).
You can easily see these attributes and their values by debugging the internal Houdini Scene (File > Open Scene In Houdini) after initializing your asset's Inputs.
Some special group names have naming schemes which specify generation behavior when marshalling data from Houdini to Unreal. See the referenced topics for details on how each works.
Group Name | Topic | Description |
---|---|---|
socket_* | Mesh Sockets | Prefix used for adding sockets |
collision_geo_* | Complex Collisions | Prefix used for collision geometry generation (invisible) |
rendered_collision_geo_* | Complex Collisions | Prefix used for visible collision geometry generation |
collision_geo_ucx_* | Convex Collisions | Prefix used for UCX collision geometry generation (invisible) |
rendered_collision_geo_ucx_* | Convex Collisions | Prefix used for visible UCX collisions generation |
collision_geo_simple_* | Simple Collisions | Prefix used for simple collision generation (invisible) |
rendered_collision_geo_simple_* | Simple Collisions | Prefix used for rendered simple collision generation |
lod_* | Level of Details | Prefix used for defining a Mesh's LOD level |
Certain standard Houdini attributes are used when marshaling data between Houdini and Unreal.
Attribute Name | Description |
---|---|
instance | For object-level instancing, See Instances |
p | position |
rot | rotation |
scale | scale |
pscale | uniform scale |
Cd | color |
Alpha | opacity |
N | normal |
uv | uv |
uvX | additionnal uv channels X from [2..8] |
The aim of this system is to allow you to modify any available property in the objects and meshes generated by the plug-in by using generic attributes. As not all the properties in components generated by the plugin are available to be set through the details panel, this system allows you to preset these properties through the use of attributes.
To use it, add a primitive or detail attribute to your HDA starting with unreal_uproperty_, then append to it the name of the uproperty you wish to modify. Houdini Engine will then try to find the uproperty corresponding to the attribute in the generated mesh components, and set that property's value to the one you specified.
For example, if you want the static mesh component generated by your asset to have "Simulate Physics" property activated, add a detail attribute called "unreal_uproperty_SimulatePhysics", and set its value to 1. The static mesh generated by your asset will now have the "Simulate Physics" property enabled.
The uproperty attributes can be either float, integer or strings. The plug-in will always try to convert the attribute's value to the uproperty's type.
For example, the boolean uproperty "UseEmissiveForStaticLighting" can be set to true by using an int attribute set to 1, a float attribute set to 1.0 or a string attribute set to "true" if the attribute is named unreal_uproperty_UseEmissiveForStaticLighting.
Vector Uproperties, like "Center Of Mass Offset", can be set using an attribute of size 3.
Correspondance between Uproperties and the attributes are done using either the uproperty's name (the name of the uproperty in the source code) or it's display name without space (the name used in the details panel).
The "Center of Mass Offset" property can for example, be modified either by using an attribute called unreal_uproperty_centerofmassoffset (using the display name) or unreal_uproperty_comnudge (using the uproperty name).
The Generic UProperty attribute system was introduced in the Unreal plug-in with Houdini 16.0.674.