1. 程式人生 > >Unity3D研究院之mac上從.ipa中提取unity3D遊戲資源(六十六)

Unity3D研究院之mac上從.ipa中提取unity3D遊戲資源(六十六)

感謝今天某大神(既然是大神名子我當然要保密嘍)告訴我Disunity更新了,不然我還不知道。以前很多人都說用Disunity提取出了Unity3D資源,但是我在Mac上從來沒有成功過,一直在報錯。https://github.com/ata4/disunity/releases 在這裡可以看到Disunity3.0是19天以前更新的,新版本真的是太好用了,我不得不讚一下 嘿嘿。 不過記得要在MAC上裝好jdk7

http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html 在這裡可以下載mac os 的。

接著找一個Unity3d做的遊戲,這裡我在補充一下如何辨認某個遊戲是用u3d做的。

1.在網上隨便下載一個遊戲.ipa,並且解壓到本地。

2.找到xxx/xxx.app,右鍵顯示包內容,開啟Data資料夾。

3.如果發現資料夾中包含 unity default resources 檔案,那麼恭喜你這個遊戲就是用unity3d做的。

螢幕快照 2014-05-06 下午9.26.35

再看看這裡幾個比較重要的檔案。

level0 / leve1 ….   圖中0-5一共有6個檔案,這表示這個遊戲用了6個遊戲場景。

sharedassets0/sharedassets1 …. 圖中0-6一共有7個檔案,它的數量永遠比場景的數量多一個,可見它和場景有關聯性,可以用工具把它解開看看。

Managed:這個資料夾下放的都是dll ,unity自己寫的指令碼編譯成dll後就放在這裡,還有其他第三方的dll也放在這裡。

resources.assets:這個東西就比較重要了,他遊戲裡面所有放在resources資料夾下的東西都會放在這裡,我們提取也主要在這裡提取。

Raw:如果遊戲在StreamingAssets資料夾下放東西,那麼就會出現一個Raw資料夾。

PS:我個人覺得最好不要在StreamingAssets資料夾下放東西,因為ipa一解開就能看到裡面放的啥東西了。如果真的要放,我覺得最好不要放.assetbundle 檔案。 因為你需要用www.LoadFromCacheOrDown 這樣第一次它會把StreamingAssets下的assetbundle 解壓到本地的cache資料夾中,那麼StreamingAssets資料夾又是一個只讀的資料夾,也就是說你只能讀取不能刪除,結果就會造成容量過大  因為 解壓後的檔案 和沒有解壓的檔案都儲存在本地。。 所以assetbundle最好直接從伺服器上下載,那麼這樣本地就不會多出來一個assetbundle。

回到正題,說說怎麼提取資源。

https://github.com/ata4/disunity/releases 

先把DisUnity3.0版本下載到本地然後解壓。 確保本地裝了jdk7以後開啟終端執行。

java -jar /Users/MOMO/Desktop/disunity_v0.3.0/disunity.jar  extract /Users/MOMO/Desktop/Data/resources.assets 

一個是disunity.jar的路徑,另外一個是resources.assets的路徑,根據你電腦的路徑來配置就可以了。 嘿嘿嘿各種資源就呼呼呼的解開啦。。如下圖所示,它會在resources.assets的同級目錄自動建立一個resources的資料夾。

AudioClip:這裡是解開的遊戲全部聲音檔案,可以直接播放。

Mesh:這裡解開的遊戲全部模型檔案,他的格式是.obj 你需要在3dmax或者maya中開啟,然後轉成FBX就可以在u3d裡面看到了,嘿嘿。

Shader:這裡解開遊戲 全部用的shader檔案,可以直接使用。

TextAsset:這裡解開的是遊戲中全部用的text文字檔案,如果文字不加密,這裡就全都會看到的 嘿嘿呵。

Texture2D:這裡放的就是遊戲中用到的所有圖片,一般是由tga或者 ktx組成,tga可以直接在電腦上檢視,但是.ktx需要藉助工具來看。

螢幕快照 2014-05-06 下午11.33.41

 嘿嘿,這裡我把Hello Hero這個遊戲的圖集解開了。如下圖所示,這是它用的一個UI圖集。

螢幕快照 2014-05-06 下午11.38.58

但是模型的貼圖怎麼解開呢?HelloHero的所有模型貼圖都是.ktx格式的。

我們首先要下載一個神一樣的工具,嘿嘿。

http://community.imgtec.com/developers/powervr/installers/

下載以後需要安裝,安裝的時候有一個開啟檔案的型別,你可以勾選一下.ktx

安裝完以後,執行檔案的路徑很深 

/Applications/Imagination/PowerVR/GraphicsSDK/PVRTexTool/GUI/OSX_x86

雙擊開啟就可以。如下圖所示,把ktx的圖片拖進來就可以看到它的原圖了。。

螢幕快照 2014-05-07 上午12.35.43

開啟.ktx的圖以後,可以在把它匯出成可以直接在電腦上預覽的圖片了。。嘿嘿嘿嘿,是不是很簡單哈?

我在補充一下, 這兩個工具都是跨平臺的, windows linux mac都可以使用的。