使用Set/Sequence节点

此页面描述了​ 集 ​和​ 序列 ​节点,并提供了​ FX-Maps ​上下文中的示例用例。

概述

在 FX-Maps 中使用函数时,有时需要从参数的​ Substance函数图形 ​输出值,这样您就可以​将它用于另一个函数中。 但默认情况下,Substance函数图形仅输出​ 一个 ​值:驱动相关参数的值。

设置和序列节点

在这种情况下,可以使用 Set 和 Sequence 节点的组合,这将允许您跨单个或多个函数控制变量。

此过程包括两个步骤:

  1. 使用 Set 节点可创建新变量,以便在其他位置调用该变量并为其分配值。
  2. Sequence节点用于在执行该图形的另一个分支​之前(例如,实际参与输出当前图形的预期值的逻辑),完整地执行步骤1中的逻辑

“集”节点

使用 Set 节点,可以设置新变量并为其分配连接到节点​ 输入 ​的类型和值。

变量的​ 名称 ​由用户在节点的属性中输入。

默认情况下,此节点设置的变量在此Substance函数图形的​ parent ​的作用域内是​ 仅 ​可访问的 — 例如,承载函数定义的参数的节点。

设置节点
在此示例中,变量名称已设置为​myVariable,其值为​1。
设置节点示例

“序列”节点

Sequence节点通过确保​ 在第二个分支 ​之前完全执行第一个分支,使您能够控制Substance函数图形的​执行流。

然后,第二个分支​的输出将传递给节点的输出。

序列节点

在此示例中,Sequence节点设置为图形的输出。 因此,函数的输出是 Float 节点输出的 0.5 值。

但是,在此之前将<b>myVariable</b>变量设置为浮点值1.0。 然后,可以在节点的上下文中使用​ 其他 ​处使用此变量。

序列节点示例

序列​节点可以​ 链接 ​以控制图形的执行流。

例如,您可以先​ 设置 ​变量,更新​稍后再更新其值,然后​ 读取 ​其最终值,同时确保这些操作以​ 特定顺序 ​发生。

序列节点已链接

变量可见性

请注意,声明的变量是​ 无法从任何地方访问 ​的!
虽然在父级中声明的变量可以在子级访问,但相反的是​不是true。

因此,在节点中设置的变量在图形级别是​ 不 ​可访问的,而在图形级别设置的变量​ 可以 ​在其节点的参数函数中访问。

例如,此规则位于​ 公开参数 ​的核心,用于公开实际上涉及以下步骤:

  1. 创建图形输入参数
  2. 在参数的Substance函数图中进行访问
  3. 将其值设置为函数的输出

让我们构建一个较小的示例:想象一下我们希望 象限 节点的 旋转 值受 颜色/发光度 值的影响:发光度越亮,旋转角度就越多。

我们将在 颜色/光度 参数函数中进行所有计算。 此参数将​ first ​计算,因此其中的任何变量集都可用于其他节点参数。
象限属性

我们的函数将非常简单:明度将是介于​ 0 ​和​ 1 ​之间的随机值,此值将存储在myRotation变量中,然后我们将该值设置为函数的输出。

这意味着​ 颜色/明度 ​参数的值将是随机的​ ,并且 ​将存储在myRotation变量中。

请注意,位置​属性已由随机值定义,并且使用​ 迭代 ​节点获取多个随机放置的图案。

象限的颜色/亮度函数

散布的图案

现在myRotation变量存在且具有值,让我们访问 图案旋转 属性的Substance函数图表。
图案旋转的参数函数菜单
在函数中,我们使用​ Get Float ​节点读取myRotation参数的值 — 我们知道变量包含浮点值 — 并将其设置为函数的输出。
图案旋转的Get float输出

亮度现在还可以控制旋转。

旋转图案

recommendation-more-help
substance-3d-designer-help-guide