天天看點

《Unity開發實戰》——3.8節通過GUI實時組合紋理

本節書摘來自華章社群《unity開發實戰》一書中的第3章,第3.8節通過gui實時組合紋理,作者 (愛爾蘭)matt smith (巴西)chico queiroz,更多章節内容可以通路雲栖社群“華章社群”公衆号檢視

3.8 通過gui實時組合紋理

avatar的自定義往往包括選擇一個或多個紋理來定義外觀。本節中将實作一個gui,此gui通過組合兩個紋理通道讓玩家建立自己的avatar。

3.8.1 準備工作

本節需要的3d對象和圖檔檔案在0423_03_07 檔案夾的selecttexture 包中。

3.8.2 操作步驟

請按照下面的步驟疊加紋理:

1)把為名selecttexture 的包導入到項目中。

2)打開名為 seltextscene的場景。

3)建立基礎紋理:在project 視圖中,用下拉菜單建立一個材質,命名為selectable-material。

4)把selectablematerial材質的shader 選項修改成 decal。然後把名為 face1 和prop1的紋理貼圖作為 decal 的貼圖,如下圖所示:

《Unity開發實戰》——3.8節通過GUI實時組合紋理
《Unity開發實戰》——3.8節通過GUI實時組合紋理

8)儲存腳本,并附加到avatar 遊戲對象上。

9)在inspector 視圖中,把 faces 和 props的size 值都修改成 2。

10)把faces的 element 0 和 element 1 分别修改成face1 和 face2。props的element 0 和 element 1 也做同樣的操作 (修改成prop1和prop2):

《Unity開發實戰》——3.8節通過GUI實時組合紋理

11)播放場景,可以通過點選按鈕選擇組合的紋理:

3.8.3 實作原理

腳本讓使用者建立兩組紋理:一個作為基礎紋理(名為faces),另一個作為decal map(貼圖)(名為props)。當場景播放時,紋理顯示在gui的按鈕中,此按鈕通過調用changematerial函數修改avatar材質中的紋理。changematerial函數的參數接收分類(face 或 prop)和圖檔的索引,然後把相應的紋理貼圖指定到紋理通道。

3.8.4 更多内容

繼續閱讀