Unity3D Game Engine – Materials Array

Array of Materials

Create a scene with:

– Main Camera

– 3 Materials blue-green-red

– Cube, assign the script SwitchMaterials.js:


#pragma strict
 
var materials : Material[];
var materials_counter : int = 0; // 1. Setup this in Inspector! It setup the array lenght!
                                 // 2. DRAG AND DROP materials inside slots
function Update() 
{
    if(Input.GetKeyDown("f")) // press f key to switch materials
    {
        renderer.material = materials[GetNextMaterialIndex()]; // richiama l'indice del materiale da visualizzare
                                                               // risulta -> render.material = materials[0]
    }
}
 
function GetNextMaterialIndex() : int
{
    materials_counter++; // incrementa di 1 l'indice
    if (materials_counter==materials.Length)
    {
        materials_counter = 0; // se l'indice è già uguale alla lunghezza massima riporta il valore a 0
    }
    return materials_counter; // ritorna l'indice dell'array
}

Cube> Inspector> SwitchMaterials.js>
1. Dare un valore a Materials Size (è la lunghezza dell’indice)
2. DRAG AND DROP i materiali sugli slot Element 0-1-2 etc…

Play> press f to switch materials.