Inspector ウィンドウに表示されているマテリアルアセットのパラメーターは、すべてスクリプトからアクセスできます。そのため、ランタイムにマテリアルの働きを変化させたり、アニメーション化させたりすることができます。
これにより、ゲームプレイ中に、マテリアルの数値の変更、色の変更、テクスチャの動的な差し替えなどが可能です。特に一般的に使用されるメソッドは以下のとおりです。
| メソッドの名前 | 用途 |
|---|---|
| SetColor | マテリアルの色を変える (例 Albedo カラー) |
| SetFloat | 浮動小数点の値を設定する (例 法線マップ調節バー) |
| SetInteger | マテリアルの整数値設定 |
| SetTexture | マテリアルに新しいテクスチャを指定する |
スクリプトによるマテリアルの操作に使用できるメソッドは、すべて Material クラスに関するスクリプトリファレンス で参照できます。
注意点として、これらのメソッドは、マテリアルの現在のシェーダーオブジェクトに使用できるプロパティのみを設定するという事です。これは、テクスチャを何も使っていないシェーダーがある場合や、シェーダーの制約がまったくない場合に、SetTexture を呼び出しても影響がない、という事です。これは、テクスチャの必要なシェーダーを後から設定する場合でも同じです。この理由により、何らかのプロパティを設定する前に、シェーダーを設定しておくことをお勧めします。シェーダーを設定した後は、同じテクスチャまたはプロパティを使用する別のシェーダーに切り替えることができ、値も維持されます。
これらのメソッドは、古いシェーダーや、スタンダードシェーダー以外のビルトインシェーダー (例えば particle, sprite, UI、unlit などのシェーダー) のような、すべてのシンプルなシェーダーに対して、想定した通りに動作します。ただし、スタンダードシェーダーで使われるマテリアルについては、そのマテリアルを完全に変更できるようになるためには、さらに要件がある事を認識しておく必要があります。