Мне нужно иметь объект в моей смене сцены между двумя разными материалами во время выполнения, когда в моем проекте Unity нажата кнопка. Тем не менее, я никогда не делал этого раньше, и у меня возникает вопрос, как это сделать.Переключение между несколькими материалами при нажатии кнопки
В моей сцене у меня есть один игровой объект, который я назвал своим контроллером. Этот скрипт имеет свой материальный класс коммутации и выглядит следующим образом:
public GameObject cupMesh;
bool isOn = true;
// Use this for initialization
void Start()
{
cupMesh = GameObject.Find("CupMesh");
}
// Update is called once per frame
void Update()
{
}
void OnGUI()
{
if(GUI.Button(new Rect(10,10, 100, 40), "Show mesh"))
{
renderer.enabled = false;
}
}
Я знаю, что это не меняет материал, но приведенный выше код не делает ничего. Я никогда ничего не модифицировал в средстве рендеринга сетки, но я знаю, что на нем есть список материалов.
Как я могу получить доступ к этому списку, чтобы я мог переключаться между двумя найденными там материалами?
Иногда документация очень полезна , просто сделайте небольшое усилие, чтобы искать внутри документа, и вы получите довольно объяснительные примеры для своих целей. http://docs.unity3d.com/Documentation/ScriptReference/Material-mainTexture.html – VicM