天天看點

《Unity開發實戰》——2.2節建立畫中畫效果

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

2.2 建立畫中畫效果

在很多情況下,用多個視角顯示是很有用的。比如,想顯示不同地點同時發生的事件,或者多人對戰(hot-seat multiplayer)遊戲中為每個玩家顯示單獨的視窗,雖然也可以手動調整錄影機的normalized viewport rect(标準化視口矩形)參數。本節包含一系列附加的首選項設定,使之獨立于使用者的顯示器配置。

2.2.1 準備工作

示例代碼的0423_02_01_02的檔案夾中有一個名為 basiclevel 的包是專為本節準備的,包中有一個場景。

2.2.2 操作步驟

請按照下面的步驟建立畫中畫顯示效果:

1)把basiclevel包導入到unity中。

2)在project視圖中,打開02_01_02檔案夾中的basicscene場景,這是一個基本場景,有一個方向光、一個錄影機和一些幾何對象。

3)通過hierarchy視圖頂部的create下拉菜單添加camera選項到場景中,如下圖所示:

《Unity開發實戰》——2.2節建立畫中畫效果

5)在project視圖中,建立一個c# script(c#腳本),重命名為“pictureinpicture”。

6)打開腳本并替換成下面的代碼:

《Unity開發實戰》——2.2節建立畫中畫效果
《Unity開發實戰》——2.2節建立畫中畫效果

也許你還沒注意到:這裡沒有用數字除以100去實作百分比,而是把數字乘以0.01。原因是計算機處理乘法的效率比除法更高。

7)儲存腳本,并将其附加到剛才新建立的錄影機上。

8)取消選擇此錄影機的audio listener(音頻監聽器)元件,修改pictureinpicture的部分參數:把horizontal alignment(橫向對齊)改成right(右對齊),vertical alignment(縱向對齊)改成top(頂對齊),dimensions in(機關)改成pixels(像素),xoffset(x軸偏移量)和yoffset(y軸偏移量)設成0,width(寬度)改成400,height(高度)改成200,如下圖所示:

《Unity開發實戰》——2.2節建立畫中畫效果

2.2.3 實作原理

腳本修改了錄影機的normalized viewport rect參數,進而按照使用者偏好修改視口的尺寸和位置。

2.2.4 更多内容

下面是“畫中畫”可以改進的方面。

讓畫中畫自适應螢幕尺寸

如果想把dimensions in(機關)選項修改成screen_percentage(螢幕百分比),視口的尺寸将會基于螢幕的實際大小,而不是pixel(像素)。

修改畫中畫的位置

vertical alignment(縱向對齊)和horizontal alignment(橫向對齊)可以用來修改視口的初始位置。用它們把視口放在期望的位置。

阻止畫中畫每幀更新

如果不想在運作模式下改變視口的位置,可以取消選擇update(更新)選項。最好在測試的時候選中,然後在位置設定好以後再取消選擇一次。