今天要介紹的是,在不是預設的解析度下,如何保持畫面寬高比。建立一個script,取名為CameraViewModify,完成後打開script檔,加入程式碼
我用了兩個變數記錄我希望的畫面寬跟畫面高,還有用兩個變數記錄上一次做改變時的寬和高,在FixedUpdate()裡,我一開始先判斷畫面比例是否有改變,如果有改變就重新調整攝影機的ViewPort。我以寛為主縮放高,用目前的畫面比例除以預設的畫面比例來得到要縮放的
高,然後再用1 減掉畫面佔的比例,減完後的值再除以2來得到黑邊的大小。如果寬遠大於高
,就縮放寬來保持遊戲畫面的比例。
完成後,把這個script掛在各個有攝影機Component的物件上。再來,我們建立一個物件取名為ClearCamera並附加上攝影機的Component
這個攝影機主要是用來清除殘存的畫面用的,所以不需要顯示任何物體。最後按下播放鍵,
看看畫面是否跟設定的比例一樣。
GitHub原始碼連結
遊戲程式設計與Unity3D引擎初步認識(十一)