Houdini 21.0 Networks and parameters

Recipe Builder geometry node

Creates a subnetwork with spare parameters to use as a container for recipe creation.

On this page
Since 21.0

Overview

The Recipe Builder is a subnetwork that provides an alternative way to save and edit recipes. This method lets you preserve the content and capture settings in a HIP file. The Data tab captures the recipe’s data based on the nodes inside the subnetwork.

Recipes can also store Python scripts that run before and after you create the recipe, which you set in the Scripts tab. See Scripting recipes for more information.

For more information about recipes, see Saving and using recipes.

To...Do this

Create a recipe

  1. Create a Recipe Builder node in your network.

  2. Set Recipe Category to the recipe type you want to create.

  3. Dive into the Recipe Builder node and add nodes to be part of the recipe.

  4. Go back up to the Recipe Builder node.

  5. In the Data tab, set Preset Node, Central Node, or Anchor Node (based on the set Recipe Category) to a node inside the subnetwork.

  6. If Recipe Category is Parameter Preset, set Preset Parameter in the Data tab to a parameter from the preset node.

  7. Configure additional save options in the Data tab.

    Tip

    Use the Invocation tab to control the behavior when the recipe is applied, and the Scripts tab to run Python scripts before and after applying the recipe.

  8. In the Recipe tab, click Save Recipe.

You can also use the Recipe Builder to load an existing recipe. This loads the content of the recipe inside the subnetwork and configures the parameters on the builder to the exact settings used to capture the recipe.

To...Do this

Load a recipe

  1. Create a Recipe Builder node in the context that was used to create the recipe.

  2. Set Recipe Category to the type of recipe you want to edit.

  3. Click Load Recipe. This opens a list of the available recipes for the set Recipe Category.

  4. Choose the recipe you want to edit and click Accept. This changes the parameters on the Recipe Builder to the values used to capture the recipe. All nodes captured by the recipe are placed inside the subnetwork.

Parameters

Recipe

Recipe Category

The type of recipe to create.

Parameter Preset

Capture a single parameter or a single multi-parameter parent, which includes its instance parameters. This is useful when making presets for snippets or ramp parameters.

Node Preset

Capture the properties of a single node, which are often its parameter values. This replaces legacy presets.

Decoration

Capture a central node that spawns other nodes (decorators). This can be considered as a per-node shelf tool.

Tool

Capture a set of network items (such as nodes, dots, sticky notes, and boxes) that you can place from the tab menu, shelf, or both.

Load Recipe

Loads an existing recipe from the set Recipe Category to this subnetwork. This changes the parameters on the Recipe Builder to match the parameters used to create the recipe and replaces the inside content with the content of the recipe.

Use this when you want to edit existing recipes. The available recipes are based on the set Recipe Category and the context in which this subnetwork exists.

Save Recipe

Saves the recipe based on the Recipe Builder’s parameter settings and the nodes inside the subnetwork.

Note

Make sure all parameters on this node are set and the subnetwork contains all necessary nodes before you click this button to generate the recipe.

Internal Name

The name under which the recipe registers and is identified in Houdini. Use the drop-down menu to choose the prefix type for the name.

Label

The name for the recipe that appears in the UI. This is the label that appears in the Recipe Manager.

Recipe File

The digital asset library file where you save the recipe. Set this to Embedded to embed the file into the current Houdini session.

This lets you save recipes with your digital asset, so when installing a digital asset library file you also install any associated recipes.

Expand to Directory

When saving to a new digital asset library on disk, this expands the digital asset library (.hda) file into a directory structure that you can browse and edit. If the digital asset library already exists, this adds the recipe to the digital asset library following the same format found on disk.

Visible

Displays the recipe in the menus. When off, the recipe is hidden in the menus but still loads into the current session.

Icon

When Recipe Category is Tool, this is the icon for the recipe that displays in the tab menu and shelf.

Node Type Pattern

When Recipe Category is Parameter Preset, Node Preset, or Decoration, this is the node type for which this recipe appears in the recipe menu. Use a space-separated list to define multiple nodes, such as Sop/box Sop/sphere.

For example, set this to Sop/box to make this recipe visible for only Box nodes. Sop/* makes the recipe available for all SOP nodes.

See Patterns for more information.

Parm Name Pattern

When Recipe Category is Parameter Preset, this is the parameter name for which the recipe is available in the recipe menu. By default, it’s set to the name of the preset parameter given by Preset Parameter. Use a space-separated list to define multiple types, such as minsteps maxsteps.

For example, set this to *seed to make the recipe available for all parameters that end with seed.

See Patterns for more information.

Parm Type Pattern

When Recipe Category is Parameter Preset, this is the parameter type for which the recipe is available in the recipe menu. By default, it’s set to the type of the preset parameter given by Preset Parameter. Use a space-separated list to define multiple types, such as float int.

See Patterns for more information.

Tab Menu

When Recipe Category is Tool, this makes the recipe visible in the tab menu.

Tab Label

When Recipe Category is Tool, this is the label of the recipe that shows in the tab menu. By default, this is the same as Label.

Use this when the tab menu and shelf have different naming standards and you want to avoid recording the same recipe twice. For example, you can have a recipe show in the tab menu as Pyro Configure Spreading Fire and on the shelf as Spreading Fire.

Tab Submenu

When Recipe Category is Tool, this is the name of the subcategory under which this recipe appears in the tab submenu. You can use the drop-down menu to choose an option from the list of available submenus.

Shelf

When Recipe Category is Tool, this makes the recipe visible on the shelf.

Shelf Label

When Recipe Category is Tool, this is the label of the recipe that shows on the shelf. By default, this is the same as Label.

Use this when the tab menu and shelf have different naming standards and you want to avoid recording the same recipe twice. For example, you can have a recipe show in the tab menu as Pyro Configure Spreading Fire and on the shelf as Spreading Fire.

Shelf Tab

When Recipe Category is Tool, this is the name of the shelf tab in which this recipe appears. If this is not an existing shelf tab, a new shelf tab is created with this name and the recipe appears as the first shelf in the tab.

Ordering Index

When Recipe Category is Tool, this is the index number to control the placement of the recipe on the shelf tab. This is useful when you want to place the recipe in an existing shelf tab.

Comment

Add a comment to explain the purpose of the recipe.

Data

Preset Node

When Recipe Category is Parameter Preset or Node Preset, this is the node to which the preset applies. Click the button to choose an available preset node from inside the subnetwork.

Note

You must have this node in the subnetwork and set its parameters to the desired values before saving the recipe.

Preset Parameter

When Recipe Category is Parameter Preset, this is the parameter on the preset node to which the preset applies. Click the button to choose an available preset parameter from on the preset node.

Central Node

When Recipe Category is Decoration, this is the node to which the recipe applies and spawns other nodes (decorators) around. Click the button to choose an available central node from inside the subnetwork.

Note

You must have this node and all other decorators in the subnetwork, and set this central node’s parameters to the desired values before saving the recipe.

Anchor Node

When Recipe Category is Tool, this is the node to which the recipe applies and spawns other nodes (decorators) around. Click the button to choose an available anchor node from inside the subnetwork.

Note

You must have this node and all other decorators in the subnetwork, and set this anchor node’s parameters to the desired values before saving the recipe.

Save Data

Records data for the recipe. Turn this off when you want to create more advanced recipes that only run Python scripts set on the Scripts tab.

Save Multiparm Indices

When Recipe Category is Parameter Preset and a multi-parameter parent is selected, this controls which instance parameters to record based on their indices.

All

Record all existing instances of the multi-parameter.

Single

Record only the selected index based on the Index parameter.

Range

Record only the selected indices based on the Index Range parameter.

Index

When Save Multiparm Indices is Single, this is the index at which to record a single multi-parameter instance.

Index Range

When Save Multiparm Indices is Range, this is the range that determines which multi-parameter instances to record.

Save Evaluated Parameter Values

Saves the current evaluated value of the parameters instead of keyframes and expressions, which are the default.

Save Metadata

Saves additional information inside the recipe for the recorded nodes and parameters.

Though the recipe system doesn’t use this extra information, it may be useful for advanced users.

Verbose

Compresses the generated data structure in the recipe by not recording default properties, which makes the data structure smaller and more readable.

Save Parameters

Depending on the Recipe Category, controls whenever to capture the parameters and their values on the preset, central, or anchor node. By default, only non-default parameters are recorded.

All

All parameter values are captured on the node regardless if the parameter’s value is the default or not.

Non-Defaults

Only parameters that have a value different from the default value are captured.

Custom Selection

Only the parameters you select are captured, regardless of the value of those parameters.

List of Parameters

When Save Parameters is Custom Selection, this is a space-separated list of parameter names to capture. Click the button to choose available parameters from the preset, central, or anchor node (based on the Recipe Category).

Save Templates

When Recipe Category is Node Preset, Decoration, or Tool, this is how to record parameter templates.

All

Capture all parameters.

When you apply the recipe to a node that’s since had its interface changed, the recipe tries to add back all previously existing parameters as spare parameters. This results in a scrambled parameter interface.

Spare Only

Capture spare parameters. This has a less scrambled parameter interface than when you use the All option.

Save Node Contents

When Recipe Category is Node Preset, Decoration, or Tool, this captures existing child nodes for the node.

For example, this captures the child nodes for a subnetwork or opened digital asset.

Save Editable Dive Targets

When Recipe Category is Node Preset, Decoration, or Tool, this captures the nodes inside any existing editable dive targets.

The Pyro Solver SOP is an example of a node with editable dive targets.

Save Nodes Only

When Recipe Category is Node Preset, Decoration, or Tool, this captures only nodes in your network. When off, this captures other network items besides nodes, such as dots, sticky notes, and network boxes.

Save View Flags

When Recipe Category is Node Preset, Decoration, or Tool, this captures flags as they're set inside the subnetwork.

Save Parameters as Brief

When Recipe Category is Node Preset, Decoration, or Tool, this compresses the dictionary that contains the parameter data to a compact form that’s easier to read. Turn this on in most scenarios.

Save Parameters

When Recipe Category is Decoration or Tool, this controls whenever to capture parameters and their values for all other nodes beside the central or anchor node. Only parameters that have non-default values are captured.

Save Node Contents

When Recipe Category is Decoration or Tool, this controls whenever to capture the children of all other nodes beside the central or anchor node.

Save Editable Dive Targets

When Recipe Category is Decoration or Tool, this controls whenever to capture the editable dive targets of all other nodes beside the central or anchor node.

Invocation

This tab controls the behavior when the recipe is applied and is stored alongside the recipe.

Note

This tab doesn’t apply when Recipe Category is Node Preset.

Multiparm Operation

When Recipe Category is Parameter Preset and the selected preset parameter is a multi-parameter parent node, this controls how existing multiparm indices combine with the indices stored in the recipe when it’s applied.

Set

Removes existing instances and replaces them with the instances saved with this recipe.

Set from Index

When the recipe is applied, this asks you to provide an index. The instances stored in this recipe replace the existing multi-parameter instances starting at this index.

Insert at Index

When the recipe is applied, this asks you to provide an index. The instances stored in this recipe are inserted into the multi-parameter after this index.

Insert First

When the recipe is applied, the instances stored in this recipe are prepended to the existing instances of the multi-parameter as the first instances.

Append

When the recipe is applied, the instances stored in this recipe are appended to the existing instances of the multi-parameter as the last instances.

Frame Nodes

When Recipe Category is Decoration or Tool, this is the space-separated list of node names from inside the subnetwork that the network editor frames around after the recipe is created. Click the button to choose available nodes from inside the subnetwork.

Enter * to frame around all nodes created by this recipe.

Selected Nodes

When Recipe Category is Decoration or Tool, this is the space-separated list of node names from inside the subnetwork that are selected in the network editor after the recipe is created. Click the button to choose available nodes from inside the subnetwork.

Enter * to select all nodes created by this recipe.

Current Node

When Recipe Category is Decoration or Tool, this is the last node that’s selected in the network editor after the recipe is created. This node appears in the Parameter Pane. Click the button to choose an available node from inside the subnetwork.

Viewport Prompt

When Recipe Category is Tool, this displays a prompt in the viewport before the recipe is created to either pick a location or select nodes in the network editor. Only recipes placed on the shelf use this feature and any recipe from the tab menu ignores it.

Prompt Type

The prompt type that displays when applying the recipe. Only recipes placed on the shelf use this feature and any recipe from the tab menu ignores it.

Position Selection

The display prompts you to click a position in the viewport. Use the Position Parameter to make a parameter on a node the recipe created inherit the selected position. This helps you position geometries created by the recipe at the clicked location.

Node Selection

The display prompts you to select an existing node in the network editor, which then replaces a node inside this subnetwork with all of its connections. The node inside the subnetwork should be a Null node and the Prompt Input Node parameter must point to it. This is useful for setups that require inputs (such as source, collision, and bound region) as you can select the nodes that represent the end of these streams and the tool automatically connects them with the setup created by the recipe.

Number of Prompts

The number of prompts sent when you apply the recipe.

Display Message

The message that displays while the prompt is active.

Position Parameter

When Prompt Type is Position Selection, this is the parameter inside the subnetwork to which to apply the selected position. This helps you position geometries created by the recipe at the clicked location.

Draw Bounding Box

When Prompt Type is Position Selection, this draws a wireframed bounding box in the viewport to indicate the size of the geometry that the recipe creates.

Maximum Size

When Draw Bounding Box is on, this sets the maximum boundary for the drawn box.

Minimum Size

When Draw Bounding Box is on, this sets the minimum boundary for the drawn box.

Prompt Input Node

When Prompt Type is Node Selection, this is the node from the subnetwork that’s replaced by the node you select during the prompt.

Scripts

Before Data Applied

Adds a Python script to the recipe that runs before the recipe is applied.

See Scripting recipes for more information.

After Data Applied

Adds a Python script to the recipe that runs after the recipe is applied.

See Scripting recipes for more information.

See also

Networks and parameters

Networks

  • Network editor

    How to create, move, copy, and edit nodes.

  • Network navigation

    How to move around the networks and move between networks.

  • Connecting (wiring) nodes

    How to connect nodes to each other to make them work together.

  • Network types and node flags

    Flags represent some state information on the node, such as which node represents the output of the network. Different network types have different flags.

  • Badges

    Badges indicate some status information about a node. They usually appear as a row of icons below the name of the node.

  • Node Info

    The node info window shows a quick overview of statistics and information about a particular node.

  • Find nodes in a network

    How to use the Find dialog to find nodes based on various criteria.

Editing parameters

Next steps

Expressions

Recipes

Reference

Guru level