概括
TeleParameter 是一种特殊类型的参数,通常引用另一个节点的参数。目标参数指向源参数,以便对任一参数的任何更改都将镜像到另一个参数中,从而保持两个参数的链接和可访问性。
本文介绍如何在 UI 中通过 Python 脚本创建 TeleParameters。
更多信息
TeleParameter 创建一种特殊类型的表达式,将节点上的参数链接到另一个参数。链接的参数可以位于同一节点上,也可以位于不同节点上。
与参数表达式的区别在于,用户可以更新任一参数,这总是会导致链接的参数也更新,而对于普通表达式,只有一个参数的值是可编辑的。
在 UI 中创建远程参数
要在 UI 中创建 TeleParameter,请执行以下操作:
- 在“参数”选项卡中打开要在其中创建 TeleParameter 的节点,单击参数右上角的扳手图标,然后选择“编辑用户参数” 。
- 这将在现有参数下方创建一个空的用户参数组。单击添加并从可用参数类型列表中选择TeleParameter 。
- 使用鼠标中键将要创建引用的参数标签拖动到标有“将参数拖放到此处”的放置区域
- TeleParameter 将呈现与链接参数匹配的外观。对任一参数所做的任何编辑都将反映在链接的参数中。
本例连接同一节点的参数,但也可以连接不同节点的参数:
- 通过将鼠标悬停在第一个节点上并按E ,然后将鼠标悬停在第二个节点上并按Shift+E来编辑两个节点的参数。
- 使用鼠标中键将要连接的参数从一个节点拖动到您在另一节点上创建的 TeleParameter。
通过 Python 创建远程参数
以下是通过 Python 命令创建 TeleParameter(包装在函数中)的必要步骤:
def CreateTeleParam(parentParam, targetParam): teleParam = parentParam.createChildString('%sTeleParam' % targetParam.getName(), '') teleParam.setExpression('getParam("%s").param.getFullName()' % targetParam.getFullName()) teleParam.setHintString(repr({'widget': 'teleparam'}))
CreateTeleParam() 函数在给定父参数下创建一个指向给定目标参数的 TeleParameter。
这是使用该函数的示例:
CreateTeleParam(NodegraphAPI.GetNode('Group').getParameter('user'),NodegraphAPI.GetNode('CameraCreate').getParameter('far'))
在此示例中,在 Group 节点上创建了一个名为 farTeleParam 的新用户参数,该参数指向 CameraCreate 节点上的 far 参数。在运行 Python 命令之前,请确保组节点已在扳手菜单中启用“编辑用户参数” 。
注意: TeleParameters 可用于让用户参数指向非用户参数以及其他用户参数。但是,不可能以这种方式链接两个非用户参数。
如果您还有其他问题,或者在使用 TeleParameters 时遇到任何问题,请打开支持票证并告知我们您遇到的问题以及您迄今为止采取的故障排除步骤。
有关如何开立支持票证的更多信息,请参阅Q100064:如何提出支持票证。
我们很遗憾听到
请告诉我们