Unreal Cook Book:動態改變材質的顏色等引數

燕良發表於2016-05-17

專案常見需求之一就是在執行時,根據遊戲邏輯或者其他奇葩需求動態改變物件的外觀,其中一些需要動態改變材質的某些引數,例如顏色值,貼圖等。

在虛幻4引擎中完成這個非常簡便,主要分為三步:

 

建立包含材質引數的Material

 

如上圖所示,我建立了一個非常簡單的材質,其中包含“MColor”這樣一個vector3的引數。


建立Dynamic Material Instance

接下來就要建立Dynamic Material Instance物件,一般可以在物件的Construction Script中完成,如下圖所示,我們建立了一個Dynamic Material Instance Object,並把它報錯到了“MyMaterial”變數中:

 

在執行時修改材質引數

接下來我們就可以呼叫Dynamic Material Instance的介面,來動態修改材質的引數,主要是下面三個:

 

在下面這個例子中,在按下鍵盤數字鍵1的時候,動態修改了前面那個材質的“MColor”引數:

 

DEMO原始碼

前面這個簡單的例子的原始碼請從這裡下載:https://github.com/neil3d/UnrealCookBook

使用的引擎版本為:4.11.2

開啟專案後,啟動“DynamicMaterialInstance/DynamicMaterial.umap”地圖檔案即可執行。

 

 

 

相關文章