Как менять материал по нажатию кнопки в Unity 3d?

В Unity 3D вы можете легко менять материал объекта по нажатию кнопки. Для этого вы можете использовать скрипт, который будет прикреплен к объекту кнопки.

Начнем с создания кнопки. Для этого перейдите в иерархию объектов, нажмите правой кнопкой мыши и выберите UI -> Button. После этого вы увидите новую кнопку в иерархии объектов.

Теперь необходимо создать скрипт, который будет менять материал. Для этого создайте новый скрипт, назовите его, например, "ChangeMaterial". Откройте его в вашей среде разработки и добавьте следующий код:

using UnityEngine;

public class ChangeMaterial : MonoBehaviour
{
    public Material newMaterial;

    public void Change()
    {
        Renderer renderer = GetComponent<Renderer>();

        if (renderer != null && newMaterial != null)
        {
            renderer.material = newMaterial;
        }
    }
}

Здесь мы объявляем публичную переменную newMaterial, которая будет хранить новый материал. Затем мы объявляем метод Change(), который будет отвечать за изменение материала. Мы получаем компонент Renderer у объекта, к которому прикреплен скрипт, и если объект и материал не равны null, мы присваиваем новый материал объекту.

Теперь вернемся в Unity. Перетащите скрипт "ChangeMaterial" на кнопку в иерархии объектов. В инспекторе кнопки увидите поле "New Material", где вы можете перетащить материал, который хотите применить к объекту при нажатии кнопки.

Теперь у вас есть кнопка, которая изменяет материал по нажатию. Это можно сделать с помощью скрипта и возможностей Unity 3D.