1. 程式人生 > >Unity實現動態修改模型材質球

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;
            }
        }

三、呼叫改變裝置部件的材質球方法,且指定對應的模型名稱即可 

注意:這裡載入的材質球位置如下: