很简单的
我就建立一个名字为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对应的事件就行了