Houdini

Job Submission

You can submit jobs from within Houdini by installing the integrated submission script, or you can submit them from the Monitor. The instructions for installing the integrated submission script can be found further down this page.

To submit from within Houdini, select ‘Render’ -> ‘Submit To Deadline’.

integrated monitor

Submission Options

The general Deadline options are explained in the Job Submission documentation, and the Draft/Integration options are explained in the Draft and Integration documentation. The Houdini specific options are:

  • ROP To Render:

    • Choose: Allows you to choose your ROP from the dropbox to the right.
    • Selected: Allows you to render each ROP that you currently have selected in Houdini (in the order that you selected)
    • All: Allows you to render every ROP in the Houdini file.
  • Ignore Inputs: If enabled, only the selected ROP will be rendered. No dependencies will rendered.

  • Build to Force: Force 32 or 64 bit rendering.

  • Ignore Bypassed Nodes: If enabled, bypassed ROPs will be skipped over when submitting multiple ROPs.

  • Automatically Create Dependencies: If enabled, ROP dependencies will be reflected in the Deadline job dependencies when submitting multiple ROPs.

  • Submit Wedges as Separate Jobs: If enabled, each Wedge in a Wedge ROP will be submitted as a separate job with the current Wedge settings. This option is only enabled if the selected ROP is a Wedge ROP, or if all ROPs are being rendered and at least one of them is a Wedge ROP.

Tile Rendering Options

Enable Tile Rendering to split up a single frame into multiple tiles.

  • Enable Tile Rendering: If enabled, the frame will be split into multiple tiles that are rendered individually and can be assembled after.
  • Use Jigsaw Rendering: Enable to use Jigsaw, otherwise a grid of tiles will be used.
  • Single Frame Tile Job Enabled: Enable to submit all tiles in a single job.
  • Single Job Frame: The frame that will be split up.
  • Submit Dependent Assembly Job: Submit a job dependent on the tile job that will assemble the tiles.
  • Cleanup Tiles after Assembly: If selected the tiles will be deleted after assembly.
  • Error on Missing Tiles: If enabled, then if any of the tiles are missing the assembly job will fail.
  • Assemble Over: Determine what the Draft Tile Assembler should assemble over be it a blank image, previous output or a specified file.
  • Error on Missing Background: If enabled, then if the background file is missing the job will fail.

IFD Exporting and Mantra Standalone

The Houdini submitter allows you to submit a job that will export the scene to IFD files, and then submit a dependent Mantra Standalone job to render the exported IFD files.

integrated2 monitor2

When submitting from the Monitor, you just need to enable the Override Export IFD option. When submitting from within Houdini using the integrated submission script, you must first make sure that the ROPs you wish to export have the Disk File option enabled in their properties, and then enable the Submit Dependent Mantra Standalone Job option in the submitter. Note that if a ROP does not have the Disk File setting enabled, it will simply render the image, and no dependent Mantra Standalone job will be submitted.

../_images/houdini_rop_disk_file.png

The general Deadline options for the Mantra Standalone job are explained in the Job Submission documentation. The Mantra Standalone specific options are:

  • Export Mantra Locally: If enabled, the Mantra IFD files will be exported by your machine before the Mantra standalone job is submitted.
  • Mantra Threads: The number of threads to use for the Mantra standalone job.

Arnold Exporting and Arnold Standalone

The Houdini submitter allows you to submit a job that will export the scene to Arnold .ass files, and then submit a dependent Arnold Standalone job to render the exported .ass files.

../_images/houdini_integrated_arnold.png

The general Deadline options for the Arnold Standalone job are explained in the Job Submission documentation. The Arnold Standalone specific options are:

  • Export Arnold Locally: If enabled, the Arnold .ass files will be exported by your machine before the Arnold standalone job is submitted.
  • Arnold Threads: The number of threads to use for the Arnold standalone job.

RenderMan Exporting and RenderMan Standalone

The Houdini submitter allows you to submit a job that will export the scene to .rib files, and then submit a dependent RenderMan Standalone job to render the exported .rib files.

../_images/houdini_integrated_renderman.png

When submitting from within Houdini using the integrated submission script, you must first make sure that the ROPs you wish to export have the Disk File option enabled in their properties, and then enable the Submit Dependent RenderMan Standalone Job option in the submitter. Note that if a ROP does not have the Disk File setting enabled, it will simply render the image, and no dependent RenderMan Standalone job will be submitted. Also note that if you wish to render from a range of frames, the export file’s name must contain the frame number so that a .rib file is exported for each frame (see below image for an example).

../_images/houdini_rop_disk_file_renderman.png

The general Deadline options for the RenderMan Standalone job are explained in the Job Submission documentation. The RenderMan Standalone specific options are:

  • Export RenderMan Locally: If enabled, the RenderMan .rib files will be exported by your machine before the RenderMan standalone job is submitted.
  • Enable RenderMan Frame Dependencies: If checked, the RenderMan Job will have Frame Dependencies. If your scene has static content, do not use!
  • RenderMan Threads: The number of threads to use for the RenderMan standalone job.

Distributed Simulation Jobs

The Houdini submitter allows you to submit a job that will run a distributed simulation.

In order to submit a simulation job you will have to first set up your fluid simulation. Once you have your simulation set up, click the Distribute tool found on the Wire, Cloth, or Particle fluids tab, select the item you wish to distribute and then press enter. This will create 3 new nodes, the specific node that controls the simulation will be sent to Deadline as the new distributedsim node in the /out tree. This node defines how many slices your simulation will have.

Once you have the distributed sim node set up, submit it to Deadline using the regular Deadline in-app submitter. Additional information for setting up distributed submissions and the properties defined in the nodes can be found in the Houdini Documentation.

Pipeline Tools

When using the integrated submitter to submit through Houdini you have the ability to use any of the event plugins that you have enabled through the Deadline Monitor. This is done by opening the Pipeline Tools window via the Pipeline Tools button. This window is explained further in the Pipeline Tools documentation.

Plug-in Configuration

You can configure the Houdini plug-in settings from the Monitor. While in super user mode, select Tools -> Configure Plugins and select the Houdini plug-in from the list on the left.

Note, if the executable supports a MAJOR.MINOR.REVISION (9.0.123) numbering system in its path, then you will need to configure the explicit exe path to the particular revision that you have installed on your machines. Deadline does not track every possible revision available or indeed where it might be custom installed to, so a studio should verify their exe paths are correct for each application version they choose to use with Deadline. Multiple exe paths can still be declared and the first one that is found on a particular slave on a particular platform will be used from the exe list.

../_images/cp_houdini.png

Render Executables

  • Hython Executable: The path to the hython executable. It can be found in the Houdini bin folder. Enter alternative paths on separate lines. Different executable paths can be configured for each version installed on your render nodes.

HQueue Simulation Job Options

  • Tracker File: The path to the simtracker.py file that is used when distributing HQueue Sim jobs. Note that this file can be found in the Houdini install.
  • Houdini Sim Tracker Port: The port number that the Sim Tracker will listen on for communication.
  • Houdini Sim Web Service Port: The port number for the Sim Tracker’s Web Service.
  • Use IP Address for Sim Tracker: If enabled, the IP address of the machine running the Sim Tracker process will be used for communication instead of the host name.

Licensing Options

  • Slaves To Use Escape License: A list of slaves that should use a Houdini Escape license instead of a Batch license. Use a , to separate multiple slave names, for example: slave001,slave002,slave003

Path Mapping (For Mixed Farms)

  • Enable Path Mapping: If enabled, Deadline will use Houdini’s HOUDINI_PATHMAP environment variable to perform path mappings on the contents of the Houdini scene file. This feature can be turned off if there are no Path Mapping entries defined in the Repository Options.

Integrated Submission Script Setup

The following procedures describe how to setup the integrated Houdini submission script for Deadline. This script has been tested with Houdini 9 and later.

You can either run the Submitter installer or manually install the submission script.

Submitter Installer

Manual Installation

On Windows or Linux, copy the client script to the Houdini install directory.

  • If the folder [Houdini Install Directory]\houdini\scripts\deadline\ doesn’t exist, create it.

  • Copy the file:

    [Repository]\submission\Houdini\Client\DeadlineHoudiniClient.py to [Houdini Install Directory]\houdini\scripts\deadline\DeadlineHoudiniClient.py
    

On Mac OS X, copy the client script to the Houdini Framework folder.

  • If the folder [Houdini Framework]/Versions/Current/Resources/houdini/scripts/deadline/ doesn’t exist, create it.

  • Copy the file:

    [Repository]\submission\Houdini\Client\DeadlineHoudiniClient.py to [Houdini Framework]/Versions/Current/Resources/houdini/scripts/deadline/DeadlineHoudiniClient.py
    
  • The [Houdini Framework] folder can typically be found in /Library/Frameworks/Houdini.Framework or in Houdini 16 and onwards in /Applications/Houdini/Houdini[VERSION]/Frameworks/Houdini.framework, where [VERSION] might typically be “16.0.000”.

Add a menu item to execute the script:

  • Open the file [Houdini Install Directory]/houdini/MainMenuCommon in a text editor.

  • Add the following in between the <mainMenu> and </mainMenu> tags, and make sure it is added after the </menuBar> closing tag.

    <addScriptItem id="h.deadline">
    <parent>render_menu</parent>
    <label>Submit To Deadline</label>
    <scriptPath>$HFS/houdini/scripts/deadline/DeadlineHoudiniClient.py</scriptPath>
    <scriptArgs></scriptArgs>
    <insertAfter/>
    </addScriptItem>
    
  • For example, this is what the last few lines of your MainMenuCommon file might look like:

    </menuBar>
    
    <addScriptItem id="h.deadline">
    <parent>render_menu</parent>
    <label>Submit To Deadline</label>
    <scriptPath>$HFS/houdini/scripts/deadline/DeadlineHoudiniClient.py</scriptPath>
    <scriptArgs></scriptArgs>
    <insertAfter/>
    </addScriptItem>
    
    </mainMenu>
    

FAQ

Which versions of Houdini are supported by Deadline?

Houdini 9 and later is supported. To render with Houdini 7 or 8, use the Mantra Plug-in.

Which Houdini license(s) are required to render with Deadline?

Deadline uses Hython to render, which uses hbatch licenses. If those are not available, it will try to use a Master License instead.

Are HQueue Simulation nodes supported?

Yes. Simply select the HQueue simulation node in the integrated submitter when submitting the job to Deadline, and a job will be submitted with one task per slice.

Do all tasks for HQueue simulation jobs need to be picked up before the job can render?

Yes. This is how regular HQueue simulation jobs operate, and it’s the same when using Deadline. This is because all nodes that are rendering each slice need to be able to communicate their progress with each other.

Does Path Mapping work in Houdini?

Yes for input, not always for output. Path Mapping in Houdini is done through it’s HOUDINI_PATHMAP environment variable which as of Houdini 14.0.339 has a known bug that it will not work on all output formats.

Error Messages and Meanings

This is a collection of known Houdini error messages and their meanings, as well as possible solutions. We want to keep this list as up to date as possible, so if you run into an error message that isn’t listed here, please email Deadline Support and let us know.

Currently, no error messages have been reported for this plug-in.