包含5節(jié)視頻教程
本系列包含Unity3D介紹、Unity3D導出人物、Unity3D導出場景、Unity3D導出動作、游戲測試最終完成一個簡單的游戲。是一套非常完整的Unity3D游戲制作教程。
![]()
|
![]() 在學習UGUI的過程中,一直使用小圖也就是散圖,一個按鈕一個圖片,一個圖標一個圖片,這樣每一個圖片都有一個Drawcall。 之前公司的游戲都是使用Unity4.3+NGUI,在NGUI中可以使用Texturepacker,先把小圖片打包成一張大圖,然后在NGUI中設置引用大圖中的哪一塊作為圖片,這樣能減少很多Drawcall。 但是在UGUI中沒有辦法使用Texturepacker了,也迷糊了幾天。 之后一直在百度谷歌尋找,才發(fā)現(xiàn)原來Unity4.6中自帶了圖集打包工具SpritePacker。 在Unity4.6中,我們把一張圖片拖入到Project中,可以設置它的用途,是Texture還是作為2DUI使用。而且注意到多了一個 Packing Tag的設置項。這個設置項就是設置小圖打包成大圖后的atlas的名稱! 注意: 放在Resources中的圖片,Unity不會打包到圖集中! 來看下面的實例: 我在界面中放了7個image,每個image是一張不同的圖片 ![]() 喜聞樂見的7個Drawcall,7個圖片就7個Drawcall,嗯,老板讓我明天滾蛋了。 然后我們來看下如何打開Unity自帶的自動的圖集打包。 首先,Unity默認是在編輯器環(huán)境下不打開圖集打包工具的,只有在Build的時候才會執(zhí)行自動打包圖集。 Edit - Project Setting - Editor 默認為下圖設置: ![]() 我們修改為: ![]() 一直啟用Sprite Packer,這樣我們在編輯器環(huán)境下也可以使用自動打包圖集。 再來運行看下: ![]() 嗯?還是7個Drawcall,Unity 坑我們? 其實不是,仔細再想下,上面提到了 Packing Tag 這個參數(shù),是么有設置的。 ![]() 既然沒有設置 Packing Tag,那Unity應該不知道怎么去打包圖集……,因為沒有名字嘛。 我們給這7個圖片設置一個名字,例如 test,然后保存Apply,再次運行測試 ![]() 為什么有兩個?Unity坑我們呢!! 其實不是,是因為這7張圖片,有一張圖片我放到了 Resources文件夾里面,上面就說道,Resources中的圖片Unity是不會打包的哦! 那么Unity把我們的小圖片打包到哪里去了,找不到呀,被吃了嗎?我想再看一眼效果怎么辦! 在Unity菜單的Window中有一個 Sprite Packer,我們打開它 ![]() 在這里就可以看到打包的圖集。 左邊紅框是圖集名字,也就是我們設置的 Packing Tag 。 第二個是打包的方式,默認打包,還有一種是緊湊型打包 ,兩種方式?jīng)]啥大區(qū)別。上面這7張圖片用Texturepacker打包后只有512x512大小,但是用Unity的Sprite Packer打包后是1024x512 ……這讓人很不解。 源自:http://game.silucg.com/code/u3d/1613.html 贊0 踩0 |
未知用戶
2005-2025 朱峰社區(qū) 版權所有 遼ICP備2021001865號-1
2005-2025 ZhuFeng Community All Rights Reserved
VIP