先看效果圖:小木塊掉到地板上(小木塊本身會消失掉),地板就開始了動效材質切換。引擎版本用的是4.11.2
方法步驟:
首先在UE4內容瀏覽器中新建一個材質.
第一步要實現一個掃光的效果,如下圖。
實現這個效果的材質節點如下
這里有個地方說明一下,因為我這里地板動態擴散效果是沿着Y軸正方向,的所以上圖紅色線框處Mask值取的是G(RGB=XYZ),可以根據不同情況自己取不同的值。
2、把掃光白條換成自己理想的紋理。在上一張截圖Base Color 與最后一個節點之間添加如下材質節點
就可以得到如下效果
接下來添加底色的變換,增加的材質節點如下圖
從Substract節點拉了一條分支線出來把最后的lerp結果接在了與BaseColor節點相連接的lerp節點上,就會得到如下效果圖
接下來是法線處理,材質節點如下,注意紅色線框處
最后要實現場景中動態觸發效果,需要做如下處理
把這三個節點
替換成下圖三個節點,紅色線框紋理采樣主要是用來改變掃光線條形狀效果(默認是規則矩形,這里是帶波紋起伏的貼圖,可以讓掃光線條出現不規則的波動效果)
最后是觸發藍圖:我給木塊添加的變量
GwoodFloor 就是地板的引用,BHitFloor 標記是否撞到了木板,FloorMat 材質實例變量,TimeCount 輸入到材質里面的時間,這里默認值我給的是1.
木塊碰到地板后的處理
Tick調用,上一圖代碼中,木塊碰到了地板后設置BHitFloor為True,tick函數調用的時候就會不斷的時間值傳遞到材質實例里面就是這個節點,直到時間累計值達到了3。