基于cocos2dx的2D手游美術(shù)資源制作技術(shù)選型12 UI做機型適配,需要很多的取舍,事實(shí)上第一個(gè)取舍就是:我們不需要真正地支持所有的機型的所有分辨率,而相反,我們把主力放在支持市場(chǎng)占有率Top15以?xún)鹊臋C型。從目前國內手機品牌型號占有率來(lái)看,這幾乎只有兩三個(gè)牌子:三星、小米和華為。在切掉了大部分碎片機型的時(shí)候,我們手上的分辨率還是很多,從而無(wú)論在人力或是時(shí)間成本上,公司宣傳片拍攝我們都是不可能完成所有的分辨率的資源。所以UI設計還得有進(jìn)一步的優(yōu)化UI的核心功能是:交互,你必須知道的8大發(fā)展觀(guān)同時(shí)對于富UI的游戲來(lái)說(shuō),它還要好看,所以本著(zhù)這兩個(gè)主要目標,又要配合所有的屏幕,我們考慮過(guò)兩個(gè)極端的方案,但最終選擇的是把兩者結合:方案一是簡(jiǎn)單粗暴的縮放:即在不同分辨率不同機型上對UI進(jìn)行縮放,使之占滿(mǎn)全屏。旅游攝影常識詳解但這個(gè)方案一提出來(lái)就立刻被自己否決了,簡(jiǎn)單縮放的問(wèn)題在于:在手機上好好的UI,在平板電腦上慘不忍睹,按鈕其大無(wú)比,操作十分不舒服,同時(shí)由于UI資源的圖片大小精度不夠,還會(huì )出現大片大片的馬賽克,也非常難看方案二則是力求效果上的完美:一套UI資源,為每個(gè)分辨率的屏幕做一套UI布局,布局時(shí)可以適當的縮放原始資源,這個(gè)方案能達到最好的UI效果,但一種分辨率一種布局缺點(diǎn)是工作量還是太大,時(shí)間和人力成本過(guò)高我們最終采用的方案三則是結合了方案一和二的優(yōu)點(diǎn),但同時(shí)也犧牲了一定的美感:美術(shù)制作一套UI圖片資源,但按分辨率區間把屏幕分為:低、中、高三檔,每一檔對應若干組分辨率的機型,然后為低、中、高分區制作不到的布局(Layout),在具體的布局區間內,這個(gè)布局文件會(huì )自動(dòng)根據分辨率進(jìn)行等比縮放,并進(jìn)行居中,兩邊無(wú)UI處留黑。這樣做的結果是用多套布局適配到所有的分辨率,同時(shí)提供可接受的操作感和外觀(guān)。(雖然它的etc編解碼用的是愛(ài)立信實(shí)驗室的實(shí)現)最終我們選擇ktx的理由是因為它的庫足夠簡(jiǎn)單,而且有OpenglES官方組織撐腰在不遠的將來(lái),在OpenglES3.0普及之后,ETC2勢必成為未來(lái)手游的最主流紋理圖片格式,因為它不但將支持更豐富的圖片格式,帶alpha支持和單通道紋理的支持(單通道可以用來(lái)做alpha、光照、mask等等),同時(shí)它提供更多的壓縮方式以提高紋理壓縮質(zhì)量。另外,對我們來(lái)說(shuō),選擇2的冪做為制作限制,還有一個(gè)必要的原因:etc壓縮算法針對的是4x4的像素塊,所以紋理的大小是2的冪且大于2的情況下,影視視頻制作自然就能滿(mǎn)足此要求。且事實(shí)上一般游戲項目里也不太可能存在小于4x4的圖片資源(mipmap低階除外)應該說(shuō)在2D動(dòng)畫(huà)制作這一點(diǎn)上,Cocostudio對Flash動(dòng)畫(huà)導出表面上顯得風(fēng)風(fēng)光光,極大的增加了資源重用,但實(shí)際上卻是乏善可呈,企業(yè)宣傳片制作它逐幀導出的flash動(dòng)畫(huà),無(wú)異于給手游團隊挖了一個(gè)大坑,就等著(zhù)你跳事實(shí)上,如果你仔細觀(guān)察一下逐幀導出的動(dòng)畫(huà),你就會(huì )發(fā)現這種導出方式有多浪費,圖(1)展示了一個(gè)15幀的角色抓耳撓腮的動(dòng)作在內存受限的手機上,拼裝動(dòng)畫(huà)是唯一可行的優(yōu)化方案,至于這個(gè)動(dòng)畫(huà)幀怎么去拼,但首先要解決變現和版權!則至少有兩種方式:第一種方式是純粹的把圖切碎,每幀使用小圖拼出不同的大圖來(lái),這種拼碎幀的方式要求美術(shù)有較好的圖片拆分能力,并且有耐心去拼接。缺點(diǎn)是有較大的美術(shù)工作量,廣告口號的形式美探究論文!比較費時(shí)。優(yōu)點(diǎn)則是資源量小,任何相要的效果,只要肯花時(shí)間,都是可以做出來(lái)的。這一種自由拼圖方式的動(dòng)畫(huà),cocostudio是不提供支持的。所以如果要做,需要自己制作相關(guān)的動(dòng)畫(huà)制作工具、數據存儲格式和加載渲染庫而第二種拼裝方式則2D骨骼動(dòng)畫(huà),2D骨骼動(dòng)畫(huà)在Cocostudio里提供了里支持,具體也是把每一幀切成不同的塊,進(jìn)行拼裝,所不同的是它的圖塊依附于骨骼,圖片本身不做任何變換,且不同的幀所接受的圖片數目也要和第一幀相同。2D骨骼動(dòng)畫(huà)簡(jiǎn)化了動(dòng)畫(huà)制作過(guò)程,同時(shí)可以在制作動(dòng)作類(lèi)游戲的時(shí)候加上諸如反向動(dòng)力學(xué)等計算。但它的缺點(diǎn)卻是一般來(lái)說(shuō),效果要比第一種拼裝方式要粗糙一些,PVZ2的動(dòng)畫(huà)就都是使用的2D骨骼動(dòng)畫(huà)。