workflows
workflows
¶
MCP tool wrappers for higher-level composite workflow operations.
Each tool delegates to the corresponding handler running inside Houdini via the HTTP bridge. These tools build entire node graphs in a single call -- complete simulation setups, material creation/assignment, SOP chain building, and render configuration.
Functions:
| Name | Description |
|---|---|
assign_material |
Assign a material to a geometry node via a Material SOP. |
build_sop_chain |
Build a sequential chain of SOP nodes wired together. |
create_material |
Create a material in /mat with configurable surface properties. |
setup_flip_sim |
Build a FLIP fluid simulation network from source geometry. |
setup_pyro_sim |
Build a Pyro smoke/fire simulation network from source geometry. |
setup_rbd_sim |
Build an RBD rigid-body simulation network with fracture and solver. |
setup_render |
Set up a render configuration with camera and ROP node. |
setup_vellum_sim |
Build a Vellum simulation network with configure node and solver. |
Functions¶
build_sop_chain
async
¶
create_material
async
¶
create_material(
ctx: Context,
name: str = "material1",
mat_type: str = "principled",
base_color: Optional[list] = None,
roughness: float = 0.5,
metallic: float = 0.0,
opacity: float = 1.0,
) -> dict
Create a material in /mat with configurable surface properties.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
|
str
|
Material node name. |
'material1'
|
|
str
|
Material type ("principled", "materialx"). |
'principled'
|
|
Optional[list]
|
[R, G, B] base color, 0-1 per channel. |
None
|
|
float
|
Surface roughness, 0-1. |
0.5
|
|
float
|
Metallic factor, 0-1. |
0.0
|
|
float
|
Opacity, 0-1. |
1.0
|
setup_flip_sim
async
¶
setup_flip_sim(
ctx: Context,
source_geo: str = "/obj/geo1/sphere1",
domain: str = "box",
particle_sep: float = 0.05,
name: str = "flip_sim",
) -> dict
setup_pyro_sim
async
¶
setup_pyro_sim(
ctx: Context,
source_geo: str = "/obj/geo1/sphere1",
container: str = "box",
res_scale: float = 1.0,
substeps: int = 1,
name: str = "pyro_sim",
) -> dict
Build a Pyro smoke/fire simulation network from source geometry.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
|
str
|
Source SOP path. |
'/obj/geo1/sphere1'
|
|
str
|
Container type. |
'box'
|
|
float
|
Resolution scale multiplier. |
1.0
|
|
int
|
DOP substeps. |
1
|
|
str
|
Top-level geo node name. |
'pyro_sim'
|
setup_rbd_sim
async
¶
setup_rbd_sim(
ctx: Context,
geo_path: str = "/obj/geo1",
ground: bool = True,
pieces_type: str = "voronoi",
name: str = "rbd_sim",
) -> dict
Build an RBD rigid-body simulation network with fracture and solver.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
|
str
|
Source geometry object path. |
'/obj/geo1'
|
|
bool
|
Add a ground plane. |
True
|
|
str
|
Fracture method ("voronoi"). |
'voronoi'
|
|
str
|
Top-level geo node name. |
'rbd_sim'
|
setup_render
async
¶
setup_render(
ctx: Context,
renderer: str = "karma",
camera: Optional[str] = None,
output_path: str = "$HIP/render/output.$F4.exr",
resolution: Optional[list] = None,
samples: int = 64,
name: str = "render1",
) -> dict
Set up a render configuration with camera and ROP node.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
|
str
|
Renderer type ("karma", "mantra"). |
'karma'
|
|
Optional[str]
|
Camera node path; creates one if omitted. |
None
|
|
str
|
Output image path (supports Houdini variables). |
'$HIP/render/output.$F4.exr'
|
|
Optional[list]
|
[width, height] resolution. |
None
|
|
int
|
Render sample count. |
64
|
|
str
|
ROP node name in /out. |
'render1'
|
setup_vellum_sim
async
¶
setup_vellum_sim(
ctx: Context,
geo_path: str = "/obj/geo1",
sim_type: str = "cloth",
substeps: int = 5,
name: str = "vellum_sim",
) -> dict
Build a Vellum simulation network with configure node and solver.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
|
str
|
Source geometry object path. |
'/obj/geo1'
|
|
str
|
Simulation type ("cloth", "hair", "grain", "softbody"). |
'cloth'
|
|
int
|
Solver substeps. |
5
|
|
str
|
Top-level geo node name. |
'vellum_sim'
|