在游戲開發中有很多的功能都是用unity來實現的,那么對于unity開發人員來說在開發中要怎么實現多分辨適配也是一個比較難的問題,因為在開發游戲的過程中重要的就是場景中的美和平衡的問題了。下面粵嵌科技的unity講師就來和大家講解下unity中的多分辨適配是怎么實現的。
錨點定位
目前主流的還是以錨點定位為主。錨點定位的方式對于開發來講比較方便,設計人員定好每個UI要掛在哪個錨點上,就不會去管不同分辨率的顯示問題了。每個不同的分辨率都會根據獲取的錨點進行UI的顯示。不過錨點是有局限性的,設計上需要針對每種分辨率進行顯示避規,需要不斷的調整錨點的位置,達到不同分辨率都能顯示正常,如果沒有調整好錨點,那么在不同的分辨率屏幕上就會出現UI異常的情況。錨點定位基本不能做占滿橫條或豎條的設計,橫條和豎條使用錨點就會出現圖片顯示不全或者屏幕沒占滿的情況。
UI配置文件
做UI配置文件適配就是針對每個比例的分辨率記錄每個UI的大小和位置,然后在游戲運行時讀取相應分辨率的UI配置文件來還原適配好的UI。這個做法就不需要像錨點定位那樣去規避不同分辨率的設計,但是這個方案修改操作比較麻煩,每次調整都需要對每個分辨率的配置進行調整,人工操作的成本比較高。
以上兩種都是比例適配較多,高清(例如NEW IPAD)適配可能就比較麻煩了。如果確實有這樣不能拉伸的需求(需要UI非常精致那種),只能做多套UI了,然后用NGUI的retina適配插件做相應適配。不過一般游戲都不需要做到那么精致,直接用960或1024的UI拉伸到2048的程度,雖然有一些毛邊,但是還是能夠接受的,市面上的NEW IPAD大部分UI都是這樣做的。
修改顯示分辨率
需要注意的是,如果你不希望UI被拉伸,又不想在高清分辨率手機上顯示圖標過小,可以考慮下修改手機的顯示分辨率。在U3D的Screen類下,有個Screen.SetResolution()函數,可以設置相應的渲染分辨率。IOS導出XCODE之前的build setting的other settings下的target device設置也可以修改IOS相應的分辨率。
修改顯示分辨率可以達到你的UI適配效果,假設你覺得這個游戲在高清分辨率的手機跑起來慢的話,修改顯示分辨率后,相應的像素渲染便少了很多。從而大大提高游戲的運行幀率。但事實上它還是拉伸了UI,因為分辨率低了,顯示屏會出現精度的視網格,所以場景中的3D模型邊緣顯示鋸齒很明顯。可以通過在quality setting下的效果開抗鋸齒選項來解決問題,但開抗鋸齒是挺耗性能的。
如果說你想要學習unity知識的話,那么粵嵌科技歡迎大家來我們公司的unity培訓班進行實地考察,也可以點擊我們文章下面的獲取試聽資格按鈕來獲取我們的unity課程免費試聽資格,在試聽中可以更加深入的了解我們粵嵌科技。