轉自:http://blog.csdn.net/panda1234lee/article/details/62041775
本例將通過 “靠近影響椅子的顏色” 來展示什么是 動態材質實例(Dynamic Material Instance)
首先,我們搜索椅子模型——SM_Chair,雙擊打開它的材質——M_Chair
可以看到 ColorSeats 參數影響着椅子的顏色,記住它的名字。
接着,我們創建一個繼承自 Actor 的藍圖類,將椅子的模型拖入新建的藍圖類
然后,我們為其頂一個觸發區域,這樣當我們靠近它時,將會觸發一個事件,如圖:
調整合適的大小和位置
接着,我們切換到 Construction Script 界面
用它來決定藍圖使用哪一個材質
將椅子模型拖入空白處,選擇 Get,然后從他拉出一條線,選擇 Create Dynamic Material Instance
再從其 return value 上拉出一條線選擇 Promote To Variable,結果如圖:
下一步我們再回到 Event Graph
選中 Box,右鍵點擊空白處,選擇 Add On Component Begin Overlap
選中我們之前在 Construction Scirpt 創建的變量,將其拖動進來,並拉出一條 Set Vector Parameter Value 線,並將這個新節點的 exec pin 和 OnComponentBeginOverlap 的 exec pin 相連。
最最重要的是,Set Vector Parameter Value 的 Parameter Name 改為 “ColorSeats”,即我們之前在椅子模型材質中看到的參數名
最后我們在定義一個隨機顏色,結果輸出到 Set Vector Parameter Value中。