あるゲームオブジェクトに対してスクリプトから動的に複数のマテリアルを変更するにはどうすればいいかなと思ってやってみた。
以下のようなスクリプトを書いてマテリアルを変化させたいオブジェクトに適用します。
public var materials:Material[];
private var material_index:int = 0;
function Start () {
material_index = Mathf.FloorToInt(Random.Range(0.0, materials.Length));
renderer.material = materials[material_index];
}
この例では見ての通り、指定した複数の中からランダムに一つを指定しています。
上記スクリプトを適応したオブジェクトの Inspector を見ると、スクリプトの項目に Materials が現れますので、必要な数を指定してマテリアルを設定していきます。
オブジェクト本来のマテリアルと間違えないようにしましょう。
Sponsored Link