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