Unity開(kāi)發(fā)的游戲中大家對(duì)于場(chǎng)景的多分辨率的要求是很高的,不管是人物和還是場(chǎng)景的分辨率都是對(duì)于一個(gè)unity開(kāi)發(fā)人員來(lái)說(shuō)會(huì)是非常高的要求的。所以對(duì)于unity開(kāi)發(fā)人員來(lái)說(shuō)掌握好unity的多分辨適配原理是非常中亞的額,下面達(dá)內(nèi)科技的小編就來(lái)和大家說(shuō)下unity的多分辨分配原理是怎么實(shí)現(xiàn)的。
錨點(diǎn)定位
目前主流的還是以錨點(diǎn)定位為主。錨點(diǎn)定位的方式對(duì)于開(kāi)發(fā)來(lái)講比較方便,設(shè)計(jì)人員定好每個(gè)UI要掛在哪個(gè)錨點(diǎn)上,就不會(huì)去管不同分辨率的顯示問(wèn)題了。每個(gè)不同的分辨率都會(huì)根據(jù)獲取的錨點(diǎn)進(jìn)行UI的顯示。不過(guò)錨點(diǎn)是有局限性的,設(shè)計(jì)上需要針對(duì)每種分辨率進(jìn)行顯示避規(guī),需要不斷的調(diào)整錨點(diǎn)的位置,達(dá)到不同分辨率都能顯示正常,如果沒(méi)有調(diào)整好錨點(diǎn),那么在不同的分辨率屏幕上就會(huì)出現(xiàn)UI異常的情況。錨點(diǎn)定位基本不能做占滿橫條或豎條的設(shè)計(jì),橫條和豎條使用錨點(diǎn)就會(huì)出現(xiàn)圖片顯示不全或者屏幕沒(méi)占滿的情況。
UI配置文件
做UI配置文件適配就是針對(duì)每個(gè)比例的分辨率記錄每個(gè)UI的大小和位置,然后在游戲運(yùn)行時(shí)讀取相應(yīng)分辨率的UI配置文件來(lái)還原適配好的UI。這個(gè)做法就不需要像錨點(diǎn)定位那樣去規(guī)避不同分辨率的設(shè)計(jì),但是這個(gè)方案修改操作比較麻煩,每次調(diào)整都需要對(duì)每個(gè)分辨率的配置進(jìn)行調(diào)整,人工操作的成本比較高。
以上兩種都是比例適配較多,高清(例如NEW
IPAD)適配可能就比較麻煩了。如果確實(shí)有這樣不能拉伸的需求(需要UI非常精致那種),只能做多套UI了,然后用NGUI的retina適配插件做相應(yīng)適配。不過(guò)一般游戲都不需要做到那么精致,直接用960或1024的UI拉伸到2048的程度,雖然有一些毛邊,但是還是能夠接受的,市面上的NEW
IPAD大部分UI都是這樣做的。
修改顯示分辨率
需要注意的是,如果你不希望UI被拉伸,又不想在高清分辨率手機(jī)上顯示圖標(biāo)過(guò)小,可以考慮下修改手機(jī)的顯示分辨率。在U3D的Screen類下,有個(gè)Screen.SetResolution()函數(shù),可以設(shè)置相應(yīng)的渲染分辨率。IOS導(dǎo)出XCODE之前的build
setting的other settings下的target device設(shè)置也可以修改IOS相應(yīng)的分辨率。
修改顯示分辨率可以達(dá)到你的UI適配效果,假設(shè)你覺(jué)得這個(gè)游戲在高清分辨率的手機(jī)跑起來(lái)慢的話,修改顯示分辨率后,相應(yīng)的像素渲染便少了很多。從而大大提高游戲的運(yùn)行幀率。但事實(shí)上它還是拉伸了UI,因?yàn)榉直媛实土耍@示屏?xí)霈F(xiàn)精度的視網(wǎng)格,所以場(chǎng)景中的3D模型邊緣顯示鋸齒很明顯??梢酝ㄟ^(guò)在quality
setting下的效果開(kāi)抗鋸齒選項(xiàng)來(lái)解決問(wèn)題,但開(kāi)抗鋸齒是挺耗性能的。
以上就是達(dá)內(nèi)科技的小編給大家講解的關(guān)于unity的多分辨適配原理的實(shí)現(xiàn)方式,每一步都是不可以少的。如果說(shuō)你想要學(xué)習(xí)unity技術(shù)的話,那么達(dá)內(nèi)科技?xì)g迎大家來(lái)我們公司進(jìn)行實(shí)地考察,也可以點(diǎn)擊我們文章下面的獲取試聽(tīng)資格按鈕來(lái)獲取我們的unity課程免費(fèi)試聽(tīng)資格,在試聽(tīng)中可以更加了解我們達(dá)內(nèi)科技。