On this page |
Tool and Selection Types ¶
The HDA’s Tool Type determines how selected asset and/or actors are wired into the inputs of the HDA during instantiation.
Tool Type |
Description |
---|---|
Generator |
For tools that only generates geometry and does not take any inputs. No input assignment will take place during instantiation. |
Single |
For tools that have a single input. The selection will be merged in that single input. |
Multi |
For tools that have multiple inputs. The selected asset/actor will be applied to each input. |
Batch |
For tools that needs to be applied each time for each selected asset/actor. |
The Selection Type determines whether only selected actors, only selected assets, or both will be used when populating the inputs for the HDA according to the Tool Type.
Selection Type |
Description |
---|---|
Content Browser and World |
Use both selected assets (from the Content Browser) and selected actors (from the Editor World) to populate inputs for the HDA. |
World Only |
Use only selected actors from the Editor World to populate inputs for the HDA. |
Selection Only |
Use only selected assets from the Content Browser to populate inputs for the HDA. |
Package Search Paths ¶
The HoudiniTools Panel makes use of the Package Search Path project setting to try and locate HoudiniTools packages. By default, the package search path is configured to only look for packages in /Game/HoudiniEngine/Tools. This package search path can be configured in the HoudiniEngine Plugin project settings.
A HoudiniToolsPackage
asset can be stored either at the root of a search path (in which case you can only have a single package at the search path):
/Game/HoudiniEngine/Tools/ HoudiniToolsPackage he_tool1 he_tool2 ...
or you can have multiple packages in immediate subdirectories:
/Game/HoudiniEngine/Tools/ Package1/ HoudiniToolsPackage he_tool1 he_tool2 ... Package2/ HoudiniToolsPackage he_tool3 he_tool4 ... ...
The HoudiniTools Panel will not search for HoudiniToolsPackage
assets that are located more than a single directory deep at any given search path. If a subdirectory does not have a HoudiniToolsPackage
asset, it will be ignored by the HoudiniTools Panel.
HoudiniTools Package ¶
A HoudiniTools Package consists of a mandatory HoudiniToolsPackage
asset and one or more HDAs in the same folder (or in subfolders). The HoudiniToolsPackage
asset describes categories and which HDAs in that package are included (or excluded) from each category. Only HDAs placed inside package directories will appear in the HoudiniTools Panel. HDAs may be organised in subdirectories as needed.
/Game/HoudiniEngine/Tools/ StudioTools/ HoudiniToolsPackage PyroTools/ he_pyrotool1 he_pyrotool2 DestructionTools/ Explode/ he_destructiontool1 Deform/ he_destructiontool2 ...
Categories may then be configured to match the whole package or specific subfolders. The same HDA may even appear in multiple categories.
Here follows a list of properties that can be configured for the HoudiniToolsPackage asset:
Settings |
Description |
---|---|
Categories |
Array of category definitions |
Categories → include |
An array of patterns (relative asset paths) to match of HoudiniAssets that should be included in this category |
Categories → exclude |
An array of patterns (relative asset paths) to match of HoudiniAssets that should be excluded from this category |
External Package Dir |
A path that points to an external directory that may be used to import data from, or export data to |
Reimport Package Description |
When on, any external data for a HoudiniAsset in this package will be imported when the HoudiniAsset is reimported |
Export Package Description |
When on, external data for for a HoudiniAsset in this package will be exported when the HoudiniAsset is saved |
Reimport Tools Descritption |
When on, any external data for this HoudiniTools Package will be imported when the HoudiniAsset is reimported |
Export Tools Description |
When on, external data for this HoudiniTools Package will be exported when the HoudiniToolsPackage asset is saved |
When HoudiniAssets are triaged into categories,include
rules are processed first. After a list of candidate HoudiniAssets have been collected for a particular category, the exclude
rules are then applied to remove any matching HoudiniAssets from the category.
Note
Hidden Tools (tools that have been set as Hidden through the HoudiniTools Panel) will appear in the exclude
list of the HoudiniToolsPackage
to which the relevent HDA belongs.
User Categories Configuration ¶
Users can create their own categories that exist outside of HoudiniAssetPackages
. To create a new user category through the HoudiniTools Panel (or to add a tool to an existing user category), see HoudiniTools User Categories section.
A single user category may include HDAs from multiple packages. A HoudiniToolsPackage
asset needs to be selected for each HDA (or set of HDAs) that is included in the user category. The HoudiniTools Panel needs to know which package to use when applying the include
and exclude
rules for the user category.
Persistent Settings ¶
Persistent editor settings for the HoudiniTools Panel is stored in the Unreal project in the Saved\Config\<PLATFORM>\HoudiniEngine.ini file.
External Description Data ¶
External description data (JSON files and icons) are optional for both Houdini Assets and Houdini Packages.
HoudiniTools Package ¶
If a HoudiniToolsPackage
asset has a valid value for its Location
property, the HoudiniTools will attempt to locate a HoudiniToolsPackage.json
file at that location on the filesystem for importing or exporting, depending on the settings in the HoudiniToolsPackage
asset.
When reimporting a HoudiniToolsPackage asset
, it will ingest a HoudiniAssetPackage.json
at the configured Location (if the HoudiniToolsPackage settings allow it).
When saving the HoudiniToolsPackage
asset, it will export a HoudiniAssetPackage.json
description at the configured Location (if the HoudiniToolsPackage settings allow it).
An example of a HoudiniToolsPackage.json
file:
{ "categories": [ { "name": "(Geo) Deform", "include": [ "deform/*" ], "exclude": [] }, { "name": "(Geo) Scatter", "include": [ "scatter/*" ], "exclude": [ "Scatter/he_geo_fill_scatter" ] } ], "export_package_description": true, "reimport_package_description": false, "reimport_tools_description": true, "export_tools_description": false }
Note
The categories in the JSON file are stored as an array
of key-value pair collections, where each collection describes a single category.
Houdini Assets ¶
When importing or reimporting a HoudiniAsset, the importer will look for an external .json
file to use for description data ingest and, optionally a .png
file to use as the HoudiniAsset’s icon (if the owning package settings allow it). When saving the HoudiniAsset, a .json
description file will be generated (if the owning package settings allow it).
External data for HoudiniAssets
are located by using the source asset’s filename and replacing the source asset’s extension (.hda, .hdanc, .hdalc
, etc.) with .json
to import description data for the asset. If the .json
file does not contain a path to an icon image, the importer will look for an icon image with the same name as the source asset but with a .png
extension.
An example of an external HoudiniTools package may look like:
C:/Project/StudioTools/ HoudiniToolsPackage.json PyroTools/ he_pyrotool1.hda he_pyrotool1.json he_pyrotool1.png he_pyrotool2.hda he_pyrotool2.json he_pyrotool2.png DestructionTools/ Explode/ he_destructiontool1.hda he_destructiontool1.json he_destructiontool1.png Deform/ he_destructiontool2.hda he_destructiontool2.json he_destructiontool2.png ...
Note
All external description files (HoudiniToolsPackage.json
, HDA .json
files and HDA .png
) are all optional.
An example of an HDA .json
file, followed a description of the fields:
{ "target": [ "unreal" ], "name": "Bend and Twist", "toolType": "GENERATOR", "toolTip": "he_geo_bend", "UE_SelectionType": "All", "helpURL": "", "iconPath": "C:/Users/User/Downloads/thrust-bend.png" }
Key |
Description |
---|---|
target |
A list of applications for which this HDA is intended. |
toolType |
Possible values are: |
toolTip |
The description associated with the HDA (typically displayed in the HoudiniTools Panel) |
UE_SelectionType |
Possible values are
|
helpURL |
The URL for more help for this HDA |
iconPath |
The path to the icon associated with this HDA. This path can be either absolute or relative to the location of the |