一個(gè)手游的圖形技術(shù)關(guān)鍵性指標(biāo)是: 內(nèi)存占用, DrawCall和包大小.
這三個(gè)參數(shù)是訓(xùn)練有素的程序和UI美術(shù)都需要關(guān)注的重要問(wèn)題
接下來(lái)我們來(lái)講解下UI美術(shù)怎么對(duì)待這三個(gè)問(wèn)題
內(nèi)存占用
手機(jī)的內(nèi)存不會(huì)明顯區(qū)分內(nèi)存和顯存, 大部分都是共享訪(fǎng)問(wèn)的. 這里說(shuō)的內(nèi)存, 一般可以通過(guò)一些工具直接看到
, 比如說(shuō)XCode等
圖形上對(duì)內(nèi)存影響最大的就是紋理, 而紋理上最關(guān)鍵的問(wèn)題就是紋理的大小, 也就是紋理面積
我曾經(jīng)見(jiàn)過(guò)一些訓(xùn)練不是那么有素的UI美術(shù), 用鼠標(biāo)選中幾個(gè)png文件, 點(diǎn)擊屬性告訴我: 諾, 你都看到了, 我這邊的圖片
才占幾kb, 為啥你總是說(shuō)內(nèi)存占用大
紋理的內(nèi)存占用, 只決定于紋理的面積以及發(fā)色數(shù), 紋理面積就是長(zhǎng)乘寬(像素), 發(fā)色數(shù)就是一般常說(shuō)的: 16位色, 32位色
之所以把內(nèi)存占用放在首位, 是因?yàn)? 大多數(shù)的手機(jī)一旦超過(guò)限定內(nèi)存就會(huì)開(kāi)始清理后臺(tái)掛起的程序, 實(shí)在清理不了只有殺掉最占內(nèi)存的程序
這就肯定殺到了你寫(xiě)的游戲之上
轉(zhuǎn)載請(qǐng)注明http://m.shnenglu.com/sunicdavy,戰(zhàn)魂小筑, 否則木有小JJ
DrawCall(DC)
美術(shù)來(lái)理解這個(gè)概念可以這么說(shuō): 繪制一張圖片需要耗費(fèi)1次DC, 假設(shè)界面上有10個(gè)圖標(biāo), 那就需要耗費(fèi)10個(gè)DC
而一般手游的DC需要限定在150個(gè)之內(nèi), 如何降低DC呢, 就需要通過(guò)Atlas技術(shù)來(lái)合并圖片
將多張圖片打到一張紋理上的技術(shù)被叫做Atlas, 俗稱(chēng)大圖或者圖集, 被打之前的圖也就叫小圖
大圖上的每個(gè)圖元素叫做精靈
每個(gè)精靈被繪制無(wú)數(shù)次最終也只會(huì)耗費(fèi)1個(gè)DC
但我們不能把所有游戲用到的圖片都打成圖集, 這并不劃算
我們會(huì)根據(jù)圖的使用頻率, 用途來(lái)按需打圖集
比如說(shuō):
1. 進(jìn)游戲只看一次的宣傳圖, 為了方便制作和加載迅速, 做一張整圖動(dòng)態(tài)加載會(huì)比較好
2. 反復(fù)查看的圖標(biāo), 因?yàn)閿?shù)量相對(duì)固定,數(shù)量不會(huì)膨脹, 我們就做成圖集
3. 但是類(lèi)似于刀塔傳奇中50+英雄, 普通玩家看不到那么多英雄但又被打成圖集是不劃算的, 所以損失一點(diǎn)DC按小圖繪制及加載是正確方法
4. 一般時(shí)候, 我們將尺寸小的圖片打成圖集, 配合大尺寸圖片同時(shí)加載
轉(zhuǎn)載請(qǐng)注明http://m.shnenglu.com/sunicdavy,戰(zhàn)魂小筑, 否則木有小JJ
包大小
包大小對(duì)于游戲來(lái)說(shuō), 會(huì)影響的是玩家首次下載的時(shí)間, 如果連游戲都不下載, 做的再漂亮的游戲也是沒(méi)用的
降低包大小的方法很多, 例如:
1. 分包機(jī)制. 先玩小包, 根據(jù)需要下載大包, 多見(jiàn)于MMORPG
2. 良好的資源管理方法及習(xí)慣
3. 剔除冗余資源
4. 盡量使用3D渲染代替2D紋理圖片
以上3個(gè)概念是游戲美術(shù), 程序必須了解的重要概念
但一個(gè)合格的美術(shù), 除了事后優(yōu)化, 還需要做的是事前優(yōu)化
事前優(yōu)化包括: 在游戲立項(xiàng)后, UI美術(shù)需要了解基本的游戲功能設(shè)計(jì)方案
出一套基本的對(duì)話(huà)框, 提示框, 圖標(biāo)裝飾等的圖素, 這些資源往往只有不到512見(jiàn)方的資源
利用這些圖片可以拼湊出70%的界面及美化效果
在這之后的UI內(nèi)容, 只是特效,動(dòng)畫(huà)的設(shè)計(jì).
轉(zhuǎn)載請(qǐng)注明http://m.shnenglu.com/sunicdavy,戰(zhàn)魂小筑, 否則木有小JJ
一些道理:
1. 進(jìn)游戲因?yàn)閮?nèi)存超標(biāo)就崩潰, 再漂亮的圖片也是沒(méi)用的.
2. 游戲是多門(mén)藝術(shù)的綜合, 游戲美術(shù)的不僅要畫(huà)的好, 還要能做出優(yōu)化的好的資源
3. 手游和端游的美術(shù)資源標(biāo)準(zhǔn)有本質(zhì)區(qū)別, 資源做出來(lái)是給人看的, 不是屏幕. 因此高低分辨率的搭配, 尤為重要.
4. 還是那句話(huà), 多看看別人做的游戲, 多問(wèn)問(wèn)別人怎么做的