Houdini Engine for Unreal
|
The plug-in supports various types of Inputs to send data to Houdini Assets. When geometries are connected as inputs, any changes made to them will be automatically pushed to the Houdini Asset, causing it to be evaluated and its output recooked.
Currently, Houdini Engine for Unreal supports the following input types:
There are two ways you can use to create an input to send data from Unreal to Houdini.
This can be acheived either by using regular Node Inputs for SOP-type assets, or by creating Object Path Inputs by exposing an Operator Path parameter on your asset.
By design, SOPs have nodes connectors for passing geometries. This allows SOP type assets to also have node connectors for inputting geometries. Those inputs can be configured by changing the Minimum Inputs and Maximum Inputs values in the "Operator Type Properties" dialog of the assets.
All inputs created in this way will be listed in the Input Details Panel , and their names can be changed in the Input/Output tab of the "Operator Type Properties" dialog.
Object Path Inputs are created from Operator Path parameters that accepts a path to a Houdini node. In order to input geometry, the Op Filter needs to be set either to "Any Object" or "Any SOP". When geometry is assigned to this parameter, Houdini Engine will create the appropriate Houdini nodes that will represent the input geometry. The asset can then use these nodes to access the geometry.
Although the Operator Path Parameter can be created manually, the simplest way to create one is to create an Object Merge SOP and expose its "Object (objpath)" parameter to the asset level. The geometry can then be accessed from the output of the Object Merge SOP, and will appear in unreal as an Input in the Parameter Details Panel.
These parameters will appear mixed with the asset's other parameters in the details panel, as Operator Path parameters are just a regular type of parameters, but they will have the same behavior as Node Inputs.
They can be used for both Object-type assets and SOP-type assets to input geometry, but it is more common to use Node Inputs connections directly for SOP-type assets. Unlike Node Inputs, it is not possible to set the Keep World Transform option on Object Path inputs.
For more details, please see Operator Path Parameters.
By default, the input type will be set to geometry when you instantiate the HDA in Unreal.
You can set a different default input type by modifying the input name (for SOP inputs) or object path parameter label (for Object Path Inputs) so that it contains certain keywords:
The default input type can be changed afterwards and will only be used on the first instantiation of the HDA.
If your asset has Node Inputs, the Houdini Inputs part of details panel of the asset will list them all in an Array. You can change Input Types by using the dropdown menu. The details panel will then update and allow you to modify this input type's options and parameters.
If your input is an Object Path Inputs, its details, options and parameters will be listed in the same way in the Houdini Parameters part of the details panel.
The Keep World Transform checkbox is present for all input types, and controls the way the geometry / asset's transform is marshalled from Unreal to Houdini. When geometry is marshalled to Houdini through an input, an Object Merge node is used to connect the asset and the geometry. For Node Inputs, the Object Merge node is automatically created by Houdini engine, and set up in the same way that an object merge is used for Object Path Inputs.
To sum things up, if an asset actor is located at (10, 10, 10) in Unreal, the geometry's Transform will be (10, 10, 10) in Houdini if Keep World Transform is checked, or (0, 0, 0) if Keep World Transform is unchecked.
The Pack Geometry Before Merging checkbox is available for geometry and world outliner inputs.
When checked, all the different meshes and objects in the input will be packed individually before being merged into your asset's input. This allow you to have each object available as a packed primitive in Houdini, making instancing and differentiating objects easier, but can cause some issues depending on the way your hda is set up ( for example, scattering points on a packed primitive will not work correctly ).
The Export All LODs checkbox is available for geometry and world outliner inputs.
It will be only available if one of the mesh in the input has more than one LOD level, and when checked, all the LOD levels for each mesh will be marshalled to houdini, and each assign to a LOD groups.
Geometry inputs are used to marshall geometry from Unreal assets to Houdini. To do so, you can either drag and drop an Unreal asset from the content browser onto it, or select one from the drop down menu.
When there is more than one geometry set as input, the geometries can be differentiated in the Digital Asset with the Unreal to Houdini attribute unreal_input_mesh_name
which is created on the input geometry primitives.
You can add multiple geometry assets to the input by clicking on the +
button. You can also insert, duplicate or delete geometry inputs by using the drop-down menu on the far right.
Each asset selected in a geometry input has its own Transform Offset. This transform offset allows you to translate, rotate and scale individually each asset in the input to compensate for unnormalized assets, misplaced pivot points etc...
The Keep World Transform checkbox controls the way the geometry's transform is used in Houdini.
Unreal geometry marshalled through a Geometry Input will contain the following Unreal to Houdini Attributes on their corresponding Houdini node:
as well as these Standard Houdini Attributes :
The Asset Input type allows you to connect a Houdini Asset to the input of another Houdini Asset. This is actually more efficient than just sending the geometry created by one asset to another input, as both Assets will be directly connected in Houdini.
The actor picker will display a list of all the Houdini Assets present in the world, allowing you to select which Houdini Asset you want to connect to the input. Just click on a Houdini Asset Actor in the list to use it as an input. The Houdini Asset Actor currently connected to the input will be displayed as the Current Actor on top of the Actor picker.
For now, only one Houdini Asset Actor can be connected to another via an Asset Input.
The Keep World Transform checkbox controls the way the asset's transform is used in Houdini.
Curve data can be marshalled from Unreal to Houdini using Curve Inputs. The details panel allows you to set up the parameters of the created Curve SOP that is connected to the input in Houdini:
Polygon (linear)
, Bezier
and NURBS
.Finally, the Keep World Transform checkbox controls the way the curve's transform is used in Houdini.
Curves that are handled with a Curve Input will have the following Standard Houdini Attributes set on their corresponding Houdini nodes:
For more details on how to edit the curve, please consult Curves
As their name suggests, Landscape Inputs allow you to marshall landscape data to your asset's input.
The actor picker in the Details panel displays a list of all the Landscapes present in the world, allowing you to select the one you want to use as your asset's input. Just click on a Landscape in the list to use it as an input. For now, you can only use one Landscape per input. The current selection will be displayed on top of the Actor picker.
You can choose how you want the landscape data to be exported to Houdini. Landscape can be exported as :
If Export Selected Landscape Components Only is checked, only the currently selected Landscape Components will be exported to Houdini. If unchecked, the whole landscape will be marshalled.
When exporting to Mesh or Points, the following options are also available:
The Recommit Landscape button can be use to export the landscape data again. This is to be used if the landscape's data has changed, as Landscape Inputs do not automatically update Houdini after a change has been made to them.
Finally, the Keep World Transform checkbox controls the way the Landscape's transform is used in Houdini.
Unreal landscapes marshalled through a Landscape Input will contain the following Unreal to Houdini Attributes in their corresponding Houdini Node:
as well as these Standard Houdini Attributes :
The World outliner inputs allow you to connect any Actor in the world to your Asset's input. To do so, press the Start Selection button, this will lock the details panel and allow you to select the Actors you wish to connect to your input. Once your selection is finished, just press the Use Current Selection button again. The current selection will be displayed under the button.
World outliner inputs also allow you to use an Unreal Spline Component as a curve input in Houdini. If an Actor with a Spline Component is selected, the Spline will be converted to a Curve SOP in Houdini. The Unreal Spline components will be resampled to linear curves, as their behavior cannot be reproduced 1:1 in Houdini. The spline's refined positions are sent as CVs to the corresponding Curve SOP in Houdini.
The Unreal Spline Resolution parameter allows you to choose the sample length used to resample and send these points to Houdini. The default value of 50 will extract a spline point every 50 cm in Unreal and marshall it to Houdini. If set to 0, only the spline's control point will be marshalled.
Please see Unreal Spline Components for more details.
The Keep World Transform checkbox controls the way the actor's transform is used in Houdini.
Unreal meshes marshalled through a World Outliner Input will contain the following Unreal to Houdini Attributes on their corresponding Houdini node:
as well as these Standard Houdini Attributes :
Unreal Spline Components marshalled through a World Outliner Input will have the following Standard Houdini Attributes set on their corresponding Houdini nodes: