OpScript

一个基于Lua的Op API接口。有关OpScript界面的更多信息,请参见Help > Documentation

连接类型

连接名称

功能

输入值

i0

节点图中您要使用Op API指定Ops的位置。

 

控制(UI)

默认值

功能

CEL

不适用

使用集合表达语言(CEL)指定场景图的位置。的CEL通过单击可使用参数选项Add Statements

有关更多信息,请参阅文档HTML页面上的CEL参考文档(可通过以下网址访问救命 > 文献资料)或CEL语句小部件类型通用参数小部件

脚本

不适用

Edit in <editor>... -打开外部编辑器,如PreferencesexternalTools > Editor,用于编辑OpScript节点的Lua脚本而不会阻塞Katana的用户界面。Katana监视要编辑的文本文件,并在检测到它们已更改时相应地更新OpScript节点。

lua -包含要运行的lua脚本。

执行模式

即时

确定何时运行脚本:

immediate -该脚本在以下位置中指定的位置运行applyWhere参数,因为它是在节点图中此节点处评估的。

deferred -该脚本是由该节点设置的,但实际上不会运行,直到节点图中的更高节点(如applyWhen参数。

显示为多输入

残障人士

如果启用,则允许将多个输入连接到此OpScript节点。

When executionMode is: immediate

适用于

在符合CEL的位置

确定脚本的运行位置:

at all locations -在节点图中的所有位置。

at specific location -仅在指定的位置location参数。如果此位置不存在,则会自动创建。

at locations matching CEL -仅在节点图中与CEL语句匹配的那些位置。

输入行为

按索引

控制节点上的输入端口如何映射到基础Op的输入。仅当节点具有一个或多个无效输入端口(该端口未连接到输出端口或连接到不提供数据的输出端口)时,此参数才有意义。

设置为only valid,当确定哪些输入传递给基础Op时,将跳过该节点的任何无效输入端口。

设置为by index,节点的所有输入端口都显示在Op看到的输入列表中;无效的输入表示为no-op类型的Op。

When applyWhere is: at specific locations

位置

/ root / world / location

要创建的位置(如果尚不存在)。否则,将运行脚本的场景图位置。

location通过单击下拉式菜单。

有关更多信息,请参考中的场景图位置小部件类型。 通用参数小部件

When executionMode is: deferred

适用时间

在解决过程中

确定何时运行脚本:

during op resolve -脚本及其参数作为属性添加,稍后由OpResolve节点执行。如果Op不是由放置在节点图中的显式OpResolve节点运行的,则由渲染器在渲染时自动运行implicit resolvers

during material resolve -脚本及其参数作为属性添加到材料操作组属性。这主要用于物料场景图位置,从而允许物料指定在分配了物料的每个位置处运行的过程过程。该脚本将作为材质解析过程的一部分运行,并在该位置创建材质着色器的初始值后立即执行。它的使用示例包括对着色器参数的随机化或过程控制。

during katana look file resolve -脚本及其参数作为属性添加到ops组属性,由LookFileResolve节点或第一个隐式解析器评估(如果不存在LookFileResolve节点)。

ModifyNameMode

节点名称

延迟的OpScripts作为组属性添加到ops组。默认情况下,该节点的名称用于该子组。由于节点名称在项目中必须唯一,因此生成的属性名称可以更改。在几乎所有情况下,这都不重要。对于这种情况,可以指定要使用的固定名称。

When modifierNameMode is: specified

ModifyName

修饰符

在下面设置属性组的名称ops用于描述此延迟脚本。

When executionMode is: deferred, during op resolve

resolveIds

不适用

指定以空格分隔的字符串列表,以指示此脚本只能由包含至少一个匹配“ resolveId”的Op解析器解析。这是一项高级功能,可以更好地控制评估顺序。

一个有用的resolveIds是hidden_prepocess,它在第一个隐式解析器上运行,然后运行其他隐式解析器(例如MaterialResolve和ConstraintResolve)。

递归启用

没有

在非立即状态下应用时,启用此功能将导致脚本在分配的位置下方的每个位置运行。通常,这比使用等效的递归CEL语句更有效。

您也可以覆盖ops.*.recursiveEnable在树中更深的任何地方赋予属性,以排除那些位置的评估。这类似于可见或光链接属性的行为。

When recursiveEnable is: yes

disableAt

不适用

对于此CEL语句或以下的位置,将禁用执行。对于大型场景层次结构,这通常比在较大的叶子位置进行评估以避免将其应用于较小的子集便宜。

为场景指定场景图位置disableAt通过单击参数选项Add Statements

有关更多信息,请参阅文档HTML页面上的CEL参考文档(可通过以下网址访问救命 > 文献资料)或CEL语句小部件类型通用参数小部件

When executionMode is: deferred, during Katana look file resolve

递归启用

没有

在非立即状态下应用时,启用此功能将导致脚本在分配的位置下方的每个位置运行。通常,这比使用等效的递归CEL语句更有效。

您还可以在树中更深的任何位置覆盖ops。*。recursiveEnable属性,以排除那些位置的评估。这类似于可见或光链接属性的行为。

When recursiveEnable is: Yes

disableAt

不适用

对于此CEL语句或以下的位置,将禁用执行。对于大型场景层次结构,这通常比在较大的叶子位置进行评估以避免将其应用于较小的子集便宜。

为场景指定场景图位置disableAt通过单击参数选项Add Statements

有关更多信息,请参阅文档HTML页面上的CEL参考文档(可通过以下网址访问救命 > 文献资料)或CEL语句小部件类型通用参数小部件