If式の表示

'Visible if’式を使用すると、グラフの入力、出力、およびパラメーターの 表示/非表示 を制御できます。

パラメーターを公開する場合、他のパラメーターの状態に基づいて、パラメーターまたはノードコネクタを非表示または表示することができます。 たとえば、ブールパラメータボタンがtrueに設定されている場合にのみスライダーが表示されます。それ以外の場合は効果がなく、ユーザーを混乱させる可能性があるためです。

これを行うには、論理式​を次の Visible if プロパティに入力します:

入力パラメーターの表示を切り替えています {width="512px"}

論理式がtrueと評価される場合、パラメーター、入力または出力は、現在のグラフを表すすべてのインスタンスノードに表示されます。 それ以外の場合は、非表示​になります。

これらの条件を記述する論理式が有効であれば、複雑な条件を使用することもできます。

NOTE
注意事項
  • この機能​ のみ ​は、パラメーターまたはコネクタがユーザーインターフェイスに表示されるかどうかに影響し、グラフの計算や結果には​影響しません。
  • 'Visible if'ステートメントで使用されるパラメーターに関数を公開または適用する場合、これらのステートメントは​ 無視 ​され、既定では'true'になります。
IMPORTANT
この機能はSubstance 3Dエコシステム内で動作しますが、一部の統合ではサポートされていない場合があります。 サポートされていない場合、表示条件の既定値はtrueです。

「Visible if」式の記述

入力パラメータへのアクセス

Visible If Expressionが少なくとも1つの入力を使用する必要がある場合は、次の構文を使用して実行できます。

input.identifier

input["identifier"]
WARNING
識別子​は、既存の入力パラメーターの​ 識別子 ​プロパティの​ 完全一致 ​の名前である必要があります。また、大文字と小文字を区別​して入力する必要があります。 パラメーターをラベルで参照することはできません。
参照されたパラメーターが存在しない場合、または論理式が無効な場合、警告​が​ Visible if ​プロパティに表示されます。

使用可能な演算子

「次の場合に表示」フィールドには、次のパラメーターを使用できます。

  • Boolean、Float、およびIntegerの入力。
  • trueとfalseの値(大文字と小文字を区別、大文字と小文字を区別しない)
  • .x :サブパラメーターにアクセスします
  • && :および
  • || :または
  • ! :なし
  • <, >, <=, >=, ==, != :比較
  • () :大括弧

ブール値に評価する必要があります

「IF」ステートメントの条件としてVisible If式が使用されます。つまり、常にtrueまたはfalseになる必要があります。

  • ブール値は、条件として直接評価できます。 ブール値を持つ単純なボタンを使用するには、この値を超える値を指定する必要はありません。 以下の例(最初の例)を参照してください。
  • 通常、ブール以外のパラメーターには​ 比較 ​操作が必要です。 比較演算子については上記を、例については以下を参照してください。
  • 非ブール値の中には​ truthy ​または​ falsy ​になるものがあります。つまり、例えばfalseのtrueとして評価できます。 整数値0はfalseと評価されます。

例

条件(「If」)
数式
メモ
真
input["my_input"] input.my_input input["my_input"] == true input.my_input == true
my_inputはブール値です
偽
!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は、1つ以上の要素を持つ浮動小数点または整数値です – 例えば、float2(x, y), integer3(x, y, z)
Or
input["param1"] || input["param2"] input.param1 || input.param2
param1とparam2はブール値です
And
input["param1"] > 0 && input["param2"] > 1 input.param1 > 0 && input.param2 > 1
param1とparam2は浮動小数点値または整数値です
recommendation-more-help
substance-3d-designer-help-guide