Unity工程資源提取其實仍是很方便的,網上也有不少相關介紹,好比雨凇就專門寫了一遍關於破解Unity資源的文章(http://www.xuanyusong.com/archives/3618),固然即便有傻瓜式教程,也不免會踩一些坑,下面記錄一下這兩天破解Unity資源的工程。java
disunity是一款開源項目,java語言寫的,輕量級,傳言簡單易用,然而並很差用,git
1.disunity5.x版本命令如未嘗試都不成功,老是報出以下問題:github
2.disunity3.x 使用仍是比較順利的,可是並無破解徹底,一部分貼圖並無被提取出來,並且每張貼圖有不少mip圖集,整體破解結果並很差。c#
如破解結果:工具
這個工具也能夠順利提取資源,可是使用也挺方便,可是提取的資源也不是十分使人滿意。不過最新版本聽說支持Unity5.x,具體沒繼續嘗試了。spa
Unity Studio十分強大,能夠在直接預覽資源,可是導出的貼圖文件時dds格式,並且導出的貼圖是「倒的」,兩個難點:dds轉png或者jpg 、 把圖片反轉。3d
使用方法十分簡單,只要File—>選擇解壓包目錄assets\bin\Data就能夠了,以後就能夠看到資源列表了:code
以後就能夠導出資源了,Unity Studio導出的貼圖是dds格式,須要轉換其餘格式,這裏推薦DDS Converter,使用也很簡單,可是,可是,可是……轉換後的貼圖居然是倒着的orm
這裏就有第二個問題,處理圖片倒位問題,這裏彷佛就沒什麼工具能夠用了,不過簡單思考一下也能夠找到解決辦法。既然圖片是倒的,那隻須要把像素點上下反轉一下就能夠的,按照這個想法就用c#寫了一個簡單的工具,也就實現了正常的圖片,貼一下代碼:blog
namespace WindowsFormsApplication1 { class HandleImage { static string loadPath = @"E:\NewProject\Test\rst\"; public void HandleImg() { string[] files = Directory.GetFiles(loadPath); for (int i = 0; i < files.Length; i++) { Bitmap img = new Bitmap(files[i]); Bitmap bTemp = RevPicUD(img); Save(bTemp, files[i]); } } //上下翻轉 public Bitmap RevPicUD(Bitmap mybm) { int height = mybm.Size.Height; int width = mybm.Size.Width; Bitmap bm = new Bitmap(width, height); int x, y, z; Color pixel; for (x = 0; x < width; x++) { for (y = height - 1, z = 0; y >= 0; y--) { pixel = mybm.GetPixel(x, y);//獲取當前像素的值 bm.SetPixel(x, z++, Color.FromArgb(pixel.R, pixel.G, pixel.B));//繪圖 } } return bm; } //左右翻轉 public Bitmap RevPicLR(Bitmap mybm) { int height = mybm.Size.Height; int width = mybm.Size.Width; Bitmap bm = new Bitmap(width, height); int x, y, z; //x,y是循環次數,z是用來記錄像素點的x座標的變化的 Color pixel; for (y = height - 1; y >= 0; y--) { for (x = width - 1, z = 0; x >= 0; x--) { pixel = mybm.GetPixel(x, y);//獲取當前像素的值 bm.SetPixel(z++, y, Color.FromArgb(pixel.R, pixel.G, pixel.B));//繪圖 } } return bm; } public void Save(Bitmap bitMap , string path) { path = path.Replace("rst", "handled"); bitMap.Save(path, ImageFormat.Jpeg); } } }
處理完上面的問題,貼圖就算基本正常了,如圖:
哈哈,到這裏資源提取就算基本成功了,可是……仍是有個問題,就是alpha通道丟失了,想了好久並無找到解決辦法,只能用ps摳圖了,汗……若是有大神有辦法完美解決這個問題,還請留言賜教一下哈
附上dds轉換工具和Unity Studio 工具下載:http://files.cnblogs.com/files/lixiang-share/UnityResTools.zip