unity3d 2017,怎么用按钮换物体材质?

2025-03-20 17:09:47
推荐回答(1个)
回答1:

很简单的

我就建立一个名字为test的C#脚本

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class test : MonoBehaviour
{
    public GameObject[] GameObjectUse;//你要改变材质的物体组
    public Material Material1;//第一个材质球
    public Material Material2;//第二个材质球
    public Material Material3;//第三个材质球
    //因为就三个材质球比较少就简单的方式不需要用数组;
    void OnButtonDown1()//按下第一个按钮
    {
        for (int i = 0; i < GameObjectUse.Length; i++)
        {
            GameObjectUse[i].GetComponent().material = Material1;//将所有的你所要改的材质的物体改成第一个材质
        }
    }
    void OnButtonDown2()//按下第二个按钮
    {
        for (int i = 0; i < GameObjectUse.Length; i++)
        {
            GameObjectUse[i].GetComponent().material = Material2;//将所有的你所要改的材质的物体改成第二个材质
        }
    }
    void OnButtonDown3()//按下第三个按钮
    {
        for (int i = 0; i < GameObjectUse.Length; i++)
        {
            GameObjectUse[i].GetComponent().material = Material3;//将所有的你所要改的材质的物体改成第三个材质
        }
    }
}

然后找到一个一直存在的物体(不会消失隐藏),把脚本拖给它,将参数拖好,再在button里面去设置每个button对应的事件就行了