我們在使用或者開發(fā)虛擬仿真軟件的時候經(jīng)常會遇到這樣的需求:點擊某個按鍵讓物體改變顏色。那么面對這樣的需求時我們應該從哪些方面著手呢?
通過分析可以得知,我們需要準備以下內(nèi)容:1)可以變色的材質(zhì);2)可以接受用戶輸入的藍圖(如果使用按鍵)。
第一步:準備可以變色的材質(zhì)。
在UE4中材質(zhì)的動態(tài)改變需要借助參數(shù)來實現(xiàn)。我們首先在內(nèi)容瀏覽器中點擊右鍵選擇Material創(chuàng)建一個基本材質(zhì),雙擊打開。
打開之后創(chuàng)建一個Const Vector3節(jié)點和兩個Float節(jié)點,前者控制顏色,后者控制Metallic和Roughness,連接如下圖所示。
接下來,需要將顏色變?yōu)閰?shù),直接在Const Vector3節(jié)點右擊選擇Convert to Parameter,并且設置參數(shù)名稱為Color(后面會用到這個參數(shù))。
第二步:接受用戶輸入。
我們需要創(chuàng)建一個藍圖類,在藍圖類中集中處理輸入和變色的邏輯。直接在內(nèi)容瀏覽器中點擊右鍵選擇Blueprint Class,在彈出的選擇父類窗口中選擇Actor作為基類,重新命名為BP_ColorChanger,創(chuàng)建好之后如下圖所示。
接下來,雙擊打開新創(chuàng)建的BP_ColorChanger藍圖。在左上角的組件面板中點擊AddComponent按鈕,添加一個Static Mesh組件,添加完成之后選擇這個組件,在屬性面板中找到Static Mesh,設置該屬性為Material Sphere,并將Materials分類下Element0設置為第一步中創(chuàng)建的材質(zhì)球,效果如下圖所示。
切換到Construction Script標簽,將Static Mesh組件從組件面板中拖拽到節(jié)點視圖面板中。搜索Create Dynamic Material Instance,并創(chuàng)建變量,命名為DynMat,如下圖所示。
切換到EventGraph標簽,刪除所有節(jié)點,我們這個案例中暫時用不到。我們需要按下R鍵變成紅色,按下G鍵變成綠色,按下B鍵變成藍色。
在節(jié)點視圖中點擊右鍵搜索R發(fā)現(xiàn)有很多符合要求的節(jié)點,為了方便快速的找到鍵盤上的r鍵,這里推薦給大家一個小技巧,搜索keyboard r可以過濾掉很多節(jié)點。
創(chuàng)建R鍵的點擊事件,將上一步中創(chuàng)建的DynMat變量拖拽到節(jié)點視圖中并搜索Set Vector Parameter Value節(jié)點,將其參數(shù)設置為Color和紅色,如下圖連接。
默認的Actor藍圖類是不接受用戶輸入的,需要簡單設置一下。點擊Class Defaults,在屬性面板中搜索input,設置Auto Receive Input為Player0即可。
點擊Compile,將新創(chuàng)建的藍圖類拖拽到關卡中,點擊Play,模型變成紅色,說明我們的效果基本實現(xiàn)。
用同樣的方式和思路可以實現(xiàn)變成綠色和藍色的操作。我們小案例到此就結束了。
>>本文地址:http://liujunjsxg.cn/zhuanye/2021/69179.html
聲明:本站稿件版權均屬中公教育優(yōu)就業(yè)所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
1 您的年齡
2 您的學歷
3 您更想做哪個方向的工作?