Unity實現動態修改模型材質球
阿新 • • 發佈:2018-11-07
一、定義需要替換的材質球(且載入該材質球)
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; } }
三、呼叫改變裝置部件的材質球方法,且指定對應的模型名稱即可
注意:這裡載入的材質球位置如下: