Object-Oriented Python Wrapper for Houdini Engine's C API
Please visit pyhapi documentation.
- For Windows
AddC:\Program Files\Side Effects Software\Houdini <version>\custom\houdini\dsolib
to Environment Path - For Linux
Add/opt/hfs<version>/dsolib/
to LD_LIBRARY_PATH
Example:
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/opt/hfs17.5/dsolib/
$ pip install pyhapi
- Windows
- Linux
- Python: >3.6
- Numpy: >= 1.15
- Houdini: 17.5
- License supported:
- Houdini FX
- Houdini Core
- Houdini Engine
- License NOT supported:
- Houdini Engine Indie
- Houdini Indie
- Houdini Apprentice
- License supported:
- Instantiate node/HDA
- Node connect operation
- Node parameter get/set
- Node async cooking
- Marshall in/out curve
- Marshall in/out mesh
Following feature in Houdini Engine is NOT supported yet:
- Marshall in/out volume
- PDG execution
Please see documentation for detailed tutorial. ****
import pyhapi as ph
session = ph.HSessionManager.get_or_create_default_session()
See more in
Example: node_networks_operations
hda_asset = ph.HAsset(session, "hda/FourShapes.hda")
asset_node = hda_asset.instantiate(node_name="TestObject").cook()
asset_node.set_param_value("seed", 1.0)
asset_node.set_param_value("foo_attrib", "foo_str")
asset_node.press_button("foo_execute")
See more in
Example: hda_params_getset
session.save_hip("debug.hip")
see more in
Example: curve_marshall_input
Example: curve_marshall_output
Example: mesh_marshall_input
Example: mesh_marshall_output
Example: heightfield_marshal_input
Example: heightfield_marshal_output