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

unity3d2017,怎么用按钮换物体材质?有4个物体,3个材质球对应3个按钮,想点击按钮之后4个物体同时换上相应的材质。本人美工,不是程序员,不会触类旁通,不理解代码... unity3d 2017,怎么用按钮换物体材质?有4个物体,3个材质球对应3个按钮,想点击按钮之后4个物体同时换上相应的材质。

本人美工,不是程序员,不会触类旁通,不理解代码命令,我只会直接把脚本拖到按钮上,换上材质球使用。

如果有人愿意,麻烦把完整的代码写给我吧。

十分感谢!
展开
 我来答
慕容凌羽歆
2018-03-04 · TA获得超过154个赞
知道小有建树答主
回答量:88
采纳率:92%
帮助的人:42.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<MeshRenderer>().material = Material1;//将所有的你所要改的材质的物体改成第一个材质
        }
    }
    void OnButtonDown2()//按下第二个按钮
    {
        for (int i = 0; i < GameObjectUse.Length; i++)
        {
            GameObjectUse[i].GetComponent<MeshRenderer>().material = Material2;//将所有的你所要改的材质的物体改成第二个材质
        }
    }
    void OnButtonDown3()//按下第三个按钮
    {
        for (int i = 0; i < GameObjectUse.Length; i++)
        {
            GameObjectUse[i].GetComponent<MeshRenderer>().material = Material3;//将所有的你所要改的材质的物体改成第三个材质
        }
    }
}

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

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式