在平時(shí)的開發(fā)中,把預(yù)設(shè)打包成 assetbundle 文件是非常普遍的做法,但是我們不能隨便把預(yù)設(shè)打包成 assetbundle 就算完事,我們應(yīng)該先清楚把預(yù)設(shè)打包成 assetbundle 的目的,通常我們把預(yù)設(shè)打包成 assetbundle 文件是為了壓縮預(yù)設(shè)的文件尺寸以方便從網(wǎng)絡(luò)快速加載,既然這樣,我們就應(yīng)該知道打包預(yù)設(shè)的時(shí)候應(yīng)該注意哪些問題。
我們先創(chuàng)建測(cè)試環(huán)境,場(chǎng)景中的 Stamp7 與 Stamp9 網(wǎng)格不同,但是材質(zhì)相同,R1_Column1 與 Stamp7 以及 Stamp9 的網(wǎng)格、材質(zhì)都不相同,場(chǎng)景如圖:
接著我們把場(chǎng)景的子對(duì)象(場(chǎng)景中的 Stamp7、Stamp9、R1_Column1)先做成預(yù)設(shè),如圖:
然后我們分別把這三個(gè)文件打包成 assetbundle 文件,并觀察生成 assetbundle 文件大小,如圖:
從圖中我們可以看出,因?yàn)?Stamp7、Stamp9 材質(zhì)相同,他們生成出來的文件大小差不多大,但是他們是獨(dú)自打包,所以材質(zhì)也是獨(dú)立的,因?yàn)椴馁|(zhì)無法共享。
下面我們把 Trees(包括 Stamp7 與 Stamp9)以及 Stones 也做成預(yù)設(shè),如圖:
然后我們?cè)侔?Trees 與 Stones 打包成 assetbundle 文件,如圖:
從圖中我們可以看出 Trees(包括 Stamp7 與 Stamp9 兩個(gè)預(yù)設(shè)文件)的大小差不多是 Stamp7 與 Stamp9 大小的一半,這是因?yàn)?Stamp7 與 Stamp9 材質(zhì)相同,在打包的時(shí)候,共享一份材質(zhì),所以材質(zhì)只有一份。
下面我們給 Stamp7 附加 R1_Column1 的材質(zhì),如圖:
然后我們?cè)俅虬?Stamp7 文件,如圖:
從下圖中,我們可以看到 Stamp7_1 的文件大小比 R1_Column1 與 Stamp7 都要大,因?yàn)?Stamp7_1 包括了 R1_Column1 與 Stamp7 的材質(zhì)。
然后我們?cè)侔?Trees 文件重新打包,從下圖中我們依然能發(fā)現(xiàn) Trees 文件也變大了,因?yàn)?Trees 文件也包括了 R1_Column1 的材質(zhì)文件。
總結(jié):到這兒我們可以對(duì)預(yù)設(shè)的注意事項(xiàng)有一些了解了,那就是盡量把材質(zhì)相同的預(yù)設(shè)放在一起打包。
新聞熱點(diǎn)
疑難解答
圖片精選