天天看點

《Unity開發實戰》——2.5節從螢幕内容制作紋理

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

2.5 從螢幕内容制作紋理

本節會介紹如何從螢幕内容制作紋理。想在遊戲中實作圖檔庫或在場景的最後顯示重要時刻的快照時,該功能則非常有用(競速遊戲和特技遊戲中用得比較多)。

2.5.1 準備工作

示例代碼中名為“0423_02_04_05”的檔案夾中有一個名為basicterrain的包需要導入,此包中有一個基礎地形和一個可以用滑鼠旋轉的錄影機。

2.5.2 操作步驟

請按照下面的步驟從螢幕内容建立紋理:

1)将上面提到的包導入到unity中,打開02_04_05場景。

2)在project視圖中建立腳本,點選create下拉菜單,選擇c# script,命名為screen-texture,在代碼編輯器中打開。

3)把腳本替換成下面的代碼:

《Unity開發實戰》——2.5節從螢幕内容制作紋理
《Unity開發實戰》——2.5節從螢幕内容制作紋理

6)播放場景,就可以通過點選滑鼠按鈕取得快照了(并顯示在左上角)。

《Unity開發實戰》——2.5節從螢幕内容制作紋理

2.5.3 實作原理

點選滑鼠觸發了一個功能:從指定矩形中讀取像素,并把這些像素應用于紋理,讓gui繪制出來。

2.5.4 更多内容

除了把紋理作為gui顯示的元素外,它還可以用作其他用途。

把紋理作為材質

将代碼gameobject.find("myobject").renderer.material.maintexture= texture;放在capture-screen函數的最後即可把紋理作為已知對象的材質。

把紋理作為截屏