Notes on SideFX Houdini, HoudiniEngine, and HoudiniEngine for Unreal Engine 4.
A collection of Houdini tools developed by SideFX for game development.
The Game Development Toolset is released frequently (usually at least once a week), but if you want to have the very latest version, or you want to make changes yourself, you will want to install from Github sources rather than use the updater tool (in the Game Development Toolbar in the Games shelf).
To install from Github sources:
git clone https://github.com/sideeffects/GameDevelopmentToolset.git
HOUDINI_PATH
variable in
houdini.env. For example:HOUDINI_PATH = E:\code\GameDevelopmentToolset;&
Unreal Engine 4 plugin for Houdini. Let's you create Houdini Digital Assets in Houdini, and then use those assets inside of UE4.
Houdini Heightfields can be used to generate UE4 Landscapes. Generating terrain in Houdini is similar to World Machine since they are both node based.
One nice thing about Houdini is the ability to insert Python nodes and VEX Attribute Wrangler nodes to write custom programs that modify the height field.
From Houdini Digital Assets:
Digital assets let you create reusable nodes and tools from existing networks.
These tools can be reused in Houdini itself and also by HoudiniEngine, which has plugins for UE4, Maya, and other tools.
You may need to reference external content (i.e., JPEGs, XML, JSON, FBX) in your HDA. However, if you distribute your HDA wihtout the external content, your tool will not work. To deal with this issue, you can embed the file in the Operator Type Properties window's Extra Files tab. You can then refer to these embedded files using opdef: (also see Specifying files inside an asset using opdef:).
The Python documentation has a good description of this in hou.HDASection class, which you can also view in the Python Shell with help(hou.HDASection)
:
hou.HDASection
Represents a section of data stored along with a digital asset.
A digital asset stores its contents in a number of different pieces of data called sections. Each section is named and contains an arbitrarily sized piece of data, often textual. Each section is like a file embedded inside the definition, and Houdini uses specially named sections to store the node contents, list of parameters, etc. You can embed your own data into a digital asset by putting it inside a section.
Any parameter in Houdini that references a file can also reference a section inside a digital asset. For example, if car is an object-level digital asset and the section is named "texture.jpg", you can reference that texture with
opdef:/Object/car?texture.jpg
. Note that hou.readFile also supports this opdef: syntax.By moving files into digital asset sections, you can build self- contained digital assets that can be distributed via a single hda file.
Note that section names may contain
/
.
In this example jpeg, json, xml, and text are embedded from the Extra Files section of the Operator Type Properties window:
Scripts are added to more easily access the data:
Finally, the data is accessed from a font node:
For full example, see embedded_asset_file.hiplc (authored in Houdini Indie).
From PowerShell:
cd UE4_PROJ_DIR
mkdir Plugins
git clone https://github.com/sideeffects/HoudiniEngineForUnreal.git
cd HoudiniEngineForUnreal
git checkout Houdini17.5-Unreal4.23
And then make sure you have enabled the HoudiniEngine plugin in your UE4 uproject file. You should have an entry in the Plugins section like this:
...
"Plugins": [
...
{
"Name": "HoudiniEngine",
"Enabled": true
},
...
],
...
Last updated October 7, 2019