2012-12-10 3 views
0

J'essaie de changer le Material du mur lors de l'exécution. J'importe le modèle de maison de Google Sketchup, qui a différents matériaux dans un seul objet (ceci est montré dans l'inspecteur). Chaque fois que je clique sur le bouton suivant (>>), il change le premier matériau de l'objet. Comment puis-je obtenir les références aux autres éléments? Voilà ce que j'ai jusqu'à présent:Unité 3D - Sélection du matériau pour le rendu

public class Material_GUI : MonoBehaviour { 

public Material[] mats; 
public GameObject go; 
private int index = 0; 

// Use this for initialization 
void Start() { 
    go.renderer.material= mats[index]; 
} 

// Update is called once per frame 
void Update() { 
} 

void OnGUI(){ 
    GUILayout.BeginArea(new Rect(Screen.width/2-100,Screen.height-60,200,50)); 
    GUI.Box (new Rect(10,10,190,40),""); 

    GUI.Label(new Rect(62,20,100,20),"Wall Testing"+(index +1)); 

    if(GUI.Button (new Rect(15,15,30,30),"<<")){ 
     index--; 
     if(index<0){ 
      index = mats.Length - 1; 

     } 
     go.renderer.material = mats[index]; 
    } 

    if(GUI.Button (new Rect(165,15,30,30),">>")){ 
     index++; 
     if(index > mats.Length -1){ 
      index = 0; 

     } 
     go.renderer.material = mats[index]; 
    } 
    GUILayout.EndArea(); 
} 
} 

Répondre

Questions connexes