表达式可见

“Visible if”表达式允许您控制图形中输入、输出和参数的可见性。

在公开参数时,您可能需要根据其他参数的状态隐藏或显示参数或节点连接器。 例如,仅当布尔参数按钮设置为true时才会显示滑块,因为否则它不会产生任何效果,并且可能会混淆用户。

为此,您可以将​ 逻辑表达式 ​输入到以下属性的 Visible if 属性中:

切换输入参数可见性 {width="512px"}

如果逻辑表达式的计算结果为true,则在表示当前图表的所有实例节点中显示参数、输入或输出。 否则,它是​隐藏。

如果说明这些条件的逻辑表达式有效,则可能出现复杂条件。

NOTE
注意事项
  • 此功能​ 仅 ​影响是否在用户界面中显示参数或连接器,并且​对图形的计算和结果没有影响。
  • 当向“Visible if”语句中使用的任何参数公开或应用函数时,这些语句将​忽略,默认为“true”。
IMPORTANT
虽然此功能在Substance 3D生态系统中运行,但某些集成可能不支持该功能。 如果不支持,可视性条件默认为true。

正在写入“Visible if”表达式

访问输入参数

任何可见如果表达式都需要使用至少一个输入,可通过以下语法来完成:

input.identifier

input["identifier"]
WARNING
标识符​必须是现有输入参数的​ 标识符 ​属性的​ 精确 ​名称,并且类型必须是​区分大小写。 您​ 不能 ​通过参数的标签引用参数。
如果引用的参数不存在,或逻辑表达式无效,则在​ Visible if ​属性上显示​警告。

可用的运算符

“显示条件”字段接受以下参数:

  • 布尔值、浮点和整数输入。
  • true和false值(区分大小写,无大写!)
  • .x :访问子参数
  • && :和
  • || :或
  • ! :不
  • <、>、<=、>=、==、!=:比较
  • () :括号

必须始终计算布尔值

Visible If表达式用作“IF”语句的条件,这意味着它必须始终生成true或false。

  • 布尔值可直接作为条件求值。 带有布尔值的简单按钮仅需要此项。 请参阅以下示例,第一个案例;
  • 非布尔型参数通常需要​ 比较 ​操作。 比较运算符请参阅上文,示例请参阅下文;
  • 一些非布尔值可以是​ truthy ​或​falsy,这意味着它们可以评估为true个,共false个 — 例如, 整数值0的计算结果为false。

示例

条件(“If”)
公式
注释
True
input["my_input"] input.my_input input["my_input"] == true input.my_input == true
my_input是布尔值
False
!input["my_input"] !input.my_input input["my_input"] == false input.my_input == false input["my_input"] != true input.my_input != true
my_input是布尔值
低于
input["my_input"] < 3 input.my_input < 3
my_input是整数值
等于
input["param1"] == 2 input.param1 == 2
param1是浮点值或整数值
低于
input["my_input"].y < 3 input.my_input.y < 3
my_input是一个包含一个或多个组件的浮点值或整数值 — 例如,float2(x, y), integer3(x, y, z)
或
input["param1"] || input["param2"] input.param1 || input.param2
param1和param2是布尔值
与
input["param1"] > 0 && input["param2"] > 1 input.param1 > 0 && input.param2 > 1
param1和param2是浮点值或整数值
recommendation-more-help
substance-3d-designer-help-guide