シェーダーグラフを使ったマテリアルを割り当てたオブジェクトの情報を取得する

2022年10月26日(更新: 2022年10月26日)

Unity のシェーダーグラフで作成したシェーダーを適用したマテリアルを割り当てたオブジェクトの情報が欲しい時があります。

例えば、オブジェクトのXYスケールの比率によってシェーダーの処理(Tilingなど)を変えたいといった場合です。

マテリアルを割り当てたオブジェクトを取得し、その値をシェーダーグラフで読み込むには Object ノードを使用します。

割り当てたオブジェクトのスケールを取得して、そのXY成分から Vector2 のノードを作成する場合は以下のようになります。

オブジェクトのスケールを取得し各要素に分解するシェーダーグラフ

オブジェクトのスケールは Vector3 なので各成分は XYZ のはずですが、Split ノードは入力に関係なく出力部分が RGBA で表示されます。

ちょっと不安になりますが、R=X, G=Y, B=Z となっており、正常に要素を分解することができています。

コメントを残す

メールアドレスが公開されることはありません。