Q100292: TeleParameters in Katana

Follow

SUMMARY

A TeleParameter is a special type of parameter that typically references a parameter of another node. The target parameter points to the source parameter so that any change to either parameter will be mirrored in the other one, keeping both parameters linked and accessible.

This article explains how to create TeleParameters in the UI and via Python scripting.

 

MORE INFORMATION

A TeleParameter creates a special type of expression that links a parameter on a node to another parameter. The linked parameter can be on the same node or on a different one.

The difference to a regular expression is that either parameter can be updated by the user, and this will always cause the linked parameter to be updated too, whereas with a normal expression, the value of only one parameter is editable.

 

CREATING TELEPARAMETERS IN THE UI

To create a TeleParameter in the UI, please do the following:

  • Open the node where you wish to create the TeleParameter in the Parameters tab, click the wrench icon on the top right of the parameters and choose Edit User Parameters.

  • 1.png
    2.png

  • This will create an empty user parameter group below the existing parameters. Click Add and choose TeleParameter from the list of available parameter types.

    3.png
    4.png

  • Middle-mouse drag the label of the parameter you wish to create a reference to onto the drop area labelled ‘Drop Parameter Here’

    5.png

  • The TeleParameter will take on an appearance that matches the linked parameter. Any edits made to either parameters will be reflected in the linked parameter.

    6.png

 

This example connects parameters on the same node, but you can also connect parameters of different node:

  • Edit both nodes’ parameters by hovering over the first node and pressing e, then hovering over the second node and pressing shift+e.
  • Middle-mouse drag the parameter you wish to connect from one node onto the TeleParameter you created on the other node.

 

CREATING TELEPARAMETERS VIA PYTHON

These are the necessary steps to create a TeleParameter via Python commands, wrapped in a function:

def CreateTeleParam(parentParam, targetParam):
   teleParam = parentParam.createChildString(
      '%sTeleParam' % targetParam.getName(), '')
  teleParam.setExpression('getParam("%s").param.getFullName()'
                          % targetParam.getFullName())
  teleParam.setHintString(repr({'widget': 'teleparam'}))

 

The CreateTeleParam() function creates a TeleParameter under the given parent parameter pointing at the given target parameter.

 

Here's an example of using the function:

CreateTeleParam(NodegraphAPI.GetNode('Group').getParameter('user'),
  NodegraphAPI.GetNode('CameraCreate').getParameter('far'))

 

In this example, a new user parameter named farTeleParam is created on a Group node, which points to the far parameter on a CameraCreate node. 

NOTE: TeleParameters can be used to have user parameters pointing to non-user parameters as well as other user parameters. However, it is not possible to link two non-user parameters this way.

If you have further questions, or if you are having any trouble working with TeleParameters, then please open a Support ticket and let us know the issue you are encountering and the troubleshooting steps you have taken so far.

For more information on how to open a Support ticket, please refer to the 'Using the Support Portal' article.

Was this article helpful?
0 out of 0 found this helpful

Comments