创建支持服务单
关注

Q100109:参数表达式和添加自定义功能

摘要

本文提供了有关参数表达式以及如何通过自定义函数示例向其添加自定义对象的一些说明。

更多信息

参数表达式仅支持Python表达式而不是完整的Python脚本。

这些类似于lambda的主体,或变量赋值的右侧。您不能使用普通的if / else块或循环,但可以使用三元运算符和列表推导。

您可以注册可以在参数表达式中使用的自定义对象。这是一个示例,说明如何注册自定义函数并在参数表达式中使用它:

Python选项卡中,定义并注册您的函数,如下所示:

def triple(value):
  return value * 3

NodegraphAPI.SetExpressionGlobalValue("triple", triple)


然后从参数表达式中,您可以使用如下函数:

triple(5) + 1


参数的值将为16.需要注意的重要一点是,您的表达式必须值为某个值而不是返回某个值。

参数表达式的目的是以编程方式计算参数的值。作为评估的一部分,参数表达式不应对您的项目进行任何修改。

如果您需要驱动许多参数的值,请考虑使用Shelf脚本或脚本按钮,您可以在我们的Katana技术指南章节中有关Shelf Item Scripts和 Katana用户指南用户参数章节中找到更多信息。 和小部件类型。


关键词: Katana ,自定义函数,参数表达式

这篇文章有帮助吗?
/

We're sorry to hear that!

Please tell us why.
4 人中有 4 人觉得有帮助

评论