バッテラが如く

プログラミングしましょ!

【Unity】ShaderGraphでOut(3)をOut(4)にしたい場合

Unity (2021.3.2f1)

はじめに

ShaderGraphのノードでOut(3)をOut(4)にして出力したい場合あったらどうしたらいいかというやつです。

端子を減らすのはSwizzleを使えば簡単にできたりしますが、増やすのは見つかりませんでした。

まぁ増やす時のデフォ値をどうするってのもありますからね。。

Splitで分解 → Vector4に再変換

Vector3を単一型に分解しそこからVector4に再変換するといった方法でできました。

ノード的にはこんな感じで実装します。

W(1)が任意で決められる値なのでこのように1にしておくか、

プロパティ公開してユーザー指定にするかって感じで使います。

うーん。なんかもっといい方法がありそう。。。分かり次第追記します!