はじめに
今回はShaderGraphでフラグを使って入力を切り替えてみる記事になります!
フラグ、いわゆるtrue
,false
で入力を切り替えたりできるノードというわけです。
またプロパティにしてインスペクターからいじれるようにしたら、結構便利かもしれません。
早速みていきましょう。
Branchノード
名前 | 入出力 | タイプ | 意味 |
---|---|---|---|
Predicate | 入力 | Boolean | フラグ |
True | 入力 | Dynamic Vector | trueのときの値 |
False | 入力 | Dynamic Vector | falseのときの値 |
Out | 出力 | Boolean | 出力値 |
Branch Node | Shader Graph | 7.1.6
仕組みは結構分かりやすいのではないでしょか。
サンプル
先程の色を変える奴をインスペクターからもいじれるように変更しましょう。
まずは以下のようなノードを組んでみてください。
そしたら、Booleanノード
を左クリックし、Convert to Property
を選択してインスペクターにも表示できるようにします。
適当なマテリアルにシェーダーを設定して、ゲームオブジェクトにアタッチすると…
さいごに
ただ公式ドキュメントに
Both sides of the branch will be calculated in the shader, even if one is never output.
と書かれているので、選択されていない方の入力も一応計算はされています。
パフォーマンス的にも頭の片隅においておいた方が良いでしょう。