概括
目标参数(TeleParameter)是一种特殊类型的参数,它通常引用另一个节点的参数。目标参数指向源参数,因此对任一参数的任何更改都会反映在另一个参数中,从而保持两个参数之间的链接和可访问性。
本文介绍了如何在用户界面中以及通过 Python 脚本创建 TeleParameters。
更多信息
TeleParameter 是一种特殊类型的表达式,它将节点上的一个参数链接到另一个参数。被链接的参数可以位于同一节点上,也可以位于不同的节点上。
与参数表达式不同的是,用户可以更新其中一个参数,并且这总是会导致链接的参数也随之更新;而对于普通表达式,只能编辑一个参数的值。
在用户界面中创建遥测参数
要在用户界面中创建 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'))
在本例中,我们将在“组”节点上创建一个名为 farTeleParam 的新用户参数,该参数指向“相机创建”节点上的 far 参数。请确保在运行 Python 命令之前,“组”节点的扳手菜单中已启用“编辑用户参数”选项。
注意: TeleParameters 可用于使用户参数指向非用户参数,以及指向其他用户参数。但是,无法通过这种方式链接两个非用户参数。
更多帮助
如果您还有其他疑问,或者在使用 TeleParameters 时遇到任何问题,请提交支持工单,并告知我们您遇到的问题以及您目前已采取的故障排除步骤。
有关如何提交支持工单的更多信息,请参阅Q100064:如何提交支持工单。
我们很遗憾听到
请告诉我们