Unity实现动态修改模型材质球

一、定义需要替换的材质球(且加载该材质球)

 private Material _HighLightMat;                                         //实现闪烁高亮效果材质球
_HighLightMat = Resources.Load("Prefabs/HighlightMat/gradient_HightBlue") as Material;

二、编写修改材质球的方法

 /// <summary>
        /// 改变设备部件的材质球
        /// </summary>
        /// <param name="equipmentPartName">设备部件的名称</param>
        private void ChangeSelectedEquipmentPartMat(string equipmentPartName)
        {
            if (!string.IsNullOrEmpty(equipmentPartName))
            {
                GameObject go = GameObject.Find(equipmentPartName);
                Material mat = go.GetComponent<Renderer>().material;
                _EquipmentPartsOriginalMatDic.Add(equipmentPartName,mat);
                
                go.GetComponent<Renderer>().material = _HighLightMat;
            }
        }

三、调用改变设备部件的材质球方法,且指定对应的模型名称即可 

注意:这里加载的材质球位置如下:

猜你喜欢

转载自blog.csdn.net/xiaochenXIHUA/article/details/82664716
今日推荐