Houdini 20.5 Reference Panes

Clone control pane

Manages Houdini clones, separate background Houdini processes that sync changes from the main session and render them with different options.

On this page

Overview

A clone is a separate background Houdini process that automatically notices and re-renders changes in this session. You can configure each clone with a different render node, render settings, camera, current frame, resolution, and/or context options.

For example, you could create clones and set them to render the previous and next frame from the main Houdini’s current frame ($F - 1 and $F + 1), or create clones to render the current scene from multiple cameras, or clones to render the current scene with different quality settings, or different renderers, or all of these at the same time. When you make changes in the main Houdini, the changes sync to the clones and they re-render with the changes, allowing you to see how the changes look with the different settings of the clones.

You can set up your viewport to use a fast interactive render delegate such as Houdini GL, but have a clone automatically render the same scene in the background with a final-frame render delegate such as Karma CPU. This lets you work interactively but also check how your changes affect the final render. And if the external render process encounters a problem, it doesn’t affect the main Houdini session.

Because clones can render from different LOPs, the clones don’t need to be rendering the same scene geometry. For example, you could have a lighting setup that is shared between different rooms, and have clones render the different rooms as you change the shared lighting.

If you set up your scene with context options, the clone control pane interface lets you easily set different values for the options for each clone. This lets you quickly try variations in the clones, including switching between different high-level “shots”, without needing to set up different render settings nodes or network branches.

While clones usually automatically re-render when something changes in the main Houdini, you can pause syncing for a clone so it continues to render its current setup and ignores changes in the main Houdini until you un-pause it. This is useful for when you want a clone to finish what it’s doing without restarting if you change something in the main Houdini.

You can start clones as external processes on your local workstation, or on a render farm. Houdini includes launcher scripts for starting a clone on the local machine, and for starting a clone on an HQueue farm. Other render farms require a plugin launcher script.

How to

To...Do this

Show the clone control panel

In the pane you want to add the clone control panel to, click the New Tab button (to the right of the existing tabs in the pane), and choose New Pane Tab Type ▸ Solaris ▸ Clone Control Panel.

Create a new clone

In the top left corner of the clone control panel, click Clones, then choose a launcher, such as Local Clone or HQueue Clone.

The launcher script will usually open a dialog to let you configure the external process. For example, the Local Clone launcher opens a dialog allowing you to set how many threads the external process is allowed to use.

Note

A newly created clone does not have a LOP node set to render. A clone without a LOP node set is idle until you set the LOP node (see below).

Create a new clone with the same settings as an existing clone

In the clone control panel, click the existing clone in the table and choose Duplicate.

Set the LOP node a clone will render from

Do one of the following:

  • Drag the LOP node from the network editor and drop it on the Node cell of the clone in the table.

    (If multiple clones are selected and you drop the node in the selection, it changes the node for all selected clones. If you drop it on a clone that isn’t selected, it only changes the node for that clone.)

  • Double-click the Node cell of a clone in the table to open a dialog for choosing the LOP node.

  • Right click the Node cell of a clone and choose Edit Node. Choose the LOP node from the dialog. If multiple clones are selected, this sets the node for all of them.

Connect or disconnect a clone

When you first create a clone, the Connected column in the table displays “waiting” while the clone starts up. When the clone is finished starting and syncs with the main Houdini session, the Connected column displays “Connected”.

To disconnect a clone, turn off the checkbox in the Connected column of the table. A disconnected clone is not running and does not use a license, but lets you keep the clone’s settings until you want to start it again.

(If you want the clone to continue running in the background, but not automatically sync changes, use the Pause Syncing column instead of disconnecting. See below.)

To connect to a disconnected clone, turn on the checkbox in the Connected column of the table.

Pause syncing changes from the main Houdini to a clone

Sometimes you just want to let a background render finish what it’s doing without restarting if you change something in the main Houdini session. To pause syncing for a clone, turn on the checkbox in the Paused column of the panel.

When “pause syncing” is on for a clone, it continues to run in the background, but does not automatically receive scene changes from the main Houdini session.

Change the size of the preview images

Resize the Image column in the table. Each row resizes to fit its image at the proper aspect ratio for the column width.

Hide the preview images

  • Click the Image button in the toolbar above the table.

    or

  • Click the View menu button and turn off the Images column.

Edit clone settings

  • Double-click a cell to edit its value in the table.

    or

  • Right click a cell and choose Edit in the table. If multiple clones are selected, this sets the value for all of them.

  • To change the settings you chose when you started a clone (for example, how many threads a local clone is allowed to use), right click the clone in the table and choose Edit Launch Settings. This stops and restarts the clone with the new settings.

  • Most editable values start as “auto”, meaning use the default value set in the node or scene. For cells that you edit as text, you can return to “auto” by clearing the text. To return Resolution to “auto”, set one or both of the dimensions to 0.

  • You can only choose a clone’s camera if it has a LOP node set. Then you can choose a camera from a menu of all cameras in the scene tree of that node.

Working with context options

If you use context options in your scene, the clone control pane interface lets you easily set different values for the options for each clone. See context options for details on how to use context options in VEX snippets, scripts, and expressions.

To...Do this

Use a different context option value for one or more clones

  1. In the top left corner of the pane, click the Clones menu button, then choose Add context option column.

  2. Type the name of the context option (without a @ at the start) in the dialog and click OK.

This adds a column to the table for the context option. You can double click the cell in this column for a clone to set the context option value only for that clone. If the value is empty or @‹option_name (the default), the clone uses the default value of the context option as set in the scene file.

Remove a context option column

In the table, right click the table header of the column, or any cell in the column, and choose Remove column.

See error logs from clones

If a clone is not rendering, you can look at the error logs from the clone in the main Houdini session using the Log Viewer.

  1. Add a Log Viewer pane to the current desktop. In the pane you want to add the log viewer panel to, click the New Tab button (to the right of the existing tabs in the pane), and choose New Pane Tab Type ▸ Log Viewer.

  2. In the log viewer, click the Connected logging sources icon and turn on Clone Logs.

  3. To see only clone log entries, click the source filter button and turn off other sources.

    The Source column for clone log entries contains the clone name. You can type the clone name in the filter field to show only logs from that clone.

Notes

  • Each clone is a non-graphical Houdini batch process. Each clone uses a license. Because they are non-graphical, if for some reason any Python scripts running in the clone try to use functions in the hou.ui package, they will raise an exception.

  • Connected clones are running in the background, and if they have a LOP node configured, they automatically sync and render changes from the main Houdini session. disconnected clones are not running, and do not use a license. Disconnecting is a way to stop the clone without losing its settings.

    See the “how to” section below for how to connect, disconnect, and pause syncing for a clone.

  • Clones only work with USD/Solaris and Hydra render delegates.

  • In the built-in launchers, setting the thread count to 0 (the default) means use the computer’s number of cores as the maximum thread count. Negative numbers mean “number cores minus this number”. For example, -1 means set the maximum number of threads to the number of cores on the machine minus one.

Toolbar

Clones menu

The top of the menu has entries for each launcher script found in the Houdini path.

HQueue Clone

Requires a running HQueue server. This opens a dialog letting you specify the HQueue server address and job settings for the clone.

Local Clone

Starts a clone in a separate process on your computer. Opens a dialog allowing you set the maximum number of threads the clone can use.

Add context option column

Reload launchers

Re-scans the Houdini path for launcher scripts and reloads them. This may be useful if you are developing your own launcher script.

Clear disconnected clones

Removes any clones from the table if they are currently disconnected.

View menu

Lets you show or hide individual columns in the table.

This is a shortcut to show/hide the image column.

Writing a clone launcher plugin

TBD.

Panes

General

Animation

Rendering

Advanced

Other