メインコンテンツへスキップ
< すべてのトピックに戻る

Global Shader Propertiesを使ってシーン全体のシェーダーに値を渡す方法は?

Shader.SetGlobalFloatShader.SetGlobalColor などのメソッドを使用します。

 

個別のマテリアルではなく、ゲーム全体に存在するすべてのシェーダーに対して、一斉に共通の変数(例:プレイヤーの位置、昼夜の明るさ、風の強さなど)を渡して同期させることができるためです。

 

1. 任意のシステムスクリプト内で Shader.SetGlobalFloat(“_GlobalWindSpeed”, 5.0f); と記述します。

 

2. 各Shader Graph側でも同じ _GlobalWindSpeed という名前のプロパティ(Exposedのチェックは外す)を用意して受け取り、計算に使用します。

タグ:
目次

9周年キャンペーン実施中 早い申込みほど受講料がお得に