arnold_handler

Hook class to handle Houdini Arnold nodes.

Designed to inherit base_render_handler i.e. define the hook attribute in your project configuration settings with the following inheritance:

env/includes/settings/tk-houdini_node_handlers.yml
node_handlers.shot_step:
- node_type: arnold
  node_category: Driver
  hook: "{self}/node_handlers/base_export_handler.py:{self}/node_handlers/base_render_handler.py:{self}/node_handlers/arnold_handler.py"
  work_template: houdini_shot_render
  publish_template: houdini_shot_publish_render
  extra_args:
    aov_work_template: houdini_shot_work_extra_plane
    aov_publish_template: houdini_shot_publish_extra_plane
    mtlx_work_template: houdini_shot_work_mtlx
    mtlx_publish_template: houdini_shot_publish_mtlx
    ass_work_template: houdini_shot_work_ass
    ass_publish_template: houdini_shot_publish_ass

Module Contents

Classes

ArnoldNodeHandler

Node handler for Arnold render nodes in houdini.

HookBaseClass[source]
class ArnoldNodeHandler[source]

Bases: HookBaseClass

Node handler for Arnold render nodes in houdini.

AOV_COUNT = ar_aovs[source]
AOV_ERROR = Layer Name not defined[source]
AOV_FILE_TMPL = ar_aov_separate_file{}[source]
AOV_NAME_TMPL = ar_aov_exr_layer_name{}[source]
AOV_USE_FILE_TMPL = ar_aov_separate{}[source]
ARCHIVE_ENABLED = ar_ass_export_enable[source]
ARCHIVE_OUTPUT = ar_ass_file[source]
ARCHIVE_PUBLISH_TEMPLATE = ass_publish_template[source]
ARCHIVE_WORK_TEMPLATE = ass_work_template[source]
AR_MATERIALX_ENABLE = ar_materialx_enable[source]
AR_MATERIALX_FILE = ar_materialx_file[source]
MTLX_PUBLISH_TEMPLATE = mtlx_publish_template[source]
MTLX_WORK_TEMPLATE = mtlx_work_template[source]
NODE_CATEGORY = Driver[source]
NODE_TYPE = arnold[source]
OUTPUT_PARM = ar_picture[source]
SGTK_AOV_NAME_TMPL = sgtk_aov_exr_layer_name{}[source]
_customise_parameter_group(self, node, parameter_group, sgtk_folder)[source]

Here is where you define where the sgtk folder is to be placed, but also any other parameters that you wish to add to the node.

Parameters
  • node – A hou.Node instance.

  • parameter_group – The node’s ParmGroup.

  • sgtk_folder – A hou.ParmFolderTemplate containing sgtk parameters.

_get_output_paths_and_templates(self, node)[source]

Go through the node’s specified parameters and get the output paths, work and publish templates.

Returns a list of dictionaries, each containing, at least: - work template - publish template - file name

and optionally: - any sequence paths - whether the output is a deep image

Parameters

node – A hou.Node instance.

Return type

list(dict)

_lock_parms(self, node, lock)[source]

Lock parms on the node is shotgun is enabled.

Parameters
  • node – A hou.Node instance.

  • lock (bool) – Lock parms if True.

_refresh_file_path(self, node)[source]

Refresh the file paths generated by the node handler.

Parameters

node – A hou.Node instance.

_remove_sgtk_items_from_parm_group(self, parameter_group)[source]

Remove all sgtk parameters from the node’s parameter template group.

Parameters

parameter_group (ParmGroup) – The parameter group containing sgtk parameters.