Unity Engineering Resource extraction is still very convenient, there are a lot of relevant introduction on the Internet, such as Glaze specifically wrote about the hack unity resources of the article (http://www.xuanyusong.com/archives/3618), of course, even if there is a fool-style tutorial, Will inevitably step on some pits, the following record the two days to crack the unity resources of the project.
I. Disunity
Disunity is an open source project, written in the Java language, lightweight, rumors are simple to use, but not good,
The 1.disunity5.x version command does not succeed, always reporting the following problem:
2.disunity3.x use or relatively smooth, but not cracked completely, part of the map has not been extracted, and each map has a lot of MIP Atlas, the overall crack result is not good.
As a result of the crack:
Two. Unityassetsexplorer
This tool can also be used to extract resources, but it is very convenient to use, but the extracted resources are not very satisfactory. However, the latest version is said to support unity5.x, specifically did not continue to try.
Three. Unity Studio
Unity Studio is very powerful and can preview resources directly, but the exported map file is in DDS format, and the exported map is "inverted", two difficulties: DDS to PNG or JPG, reverse the picture.
The use of the method is very simple, as long as file-> choose to unpack the package directory Assets\bin\data, then you can see the list of resources:
After that you can export the resources, Unity studio exported the map is DDS format, need to convert other formats, here is recommended DDS Converter, use is also very simple, but, but ... The converted map was inverted.
Here is the second problem, dealing with the picture inverted problem, there seems to be no tool to use, but a simple thought can also find a solution. Since the picture is inverted, that only need to invert the pixels up and down on it, according to this idea in C # to write a simple tool, also realized the normal picture, paste the code:
namespacewindowsformsapplication1{classHandleimage {Static stringLoadPath =@"E:\NewProject\Test\rst\"; Public voidhandleimg () {string[] files =Directory.GetFiles (LoadPath); for(inti =0; I < files. Length; i++) {Bitmap img=NewBitmap (Files[i]); Bitmap btemp=Revpicud (IMG); Save (Btemp, files[i]); } }//Flip up and down PublicBitmap Revpicud (Bitmap mybm) {intHeight =MYBM. Size.Height; intwidth =MYBM. Size.width; Bitmap BM=NewBitmap (width, height); intx, y, Z; Color Pixel; for(x =0; x < width; X + +) { for(y = height-1, z =0; Y >=0; y--) {pixel= MYBM. GetPixel (x, y);//gets the value of the current pixelBm. SetPixel (x, z++, Color.FromArgb (pixel). R, Pixel. G, Pixel. B));//Drawing } } returnBM; }//Flip left and right PublicBitmap revpiclr (Bitmap mybm) {intHeight =MYBM. Size.Height; intwidth =MYBM. Size.width; Bitmap BM=NewBitmap (width, height); intX, y, Z;//x , Y is the number of cycles, and Z is used to record the change in pixelColor Pixel; for(y = height-1; Y >=0; y--) { for(x = width-1, z =0; X >=0; x--) {pixel= MYBM. GetPixel (x, y);//gets the value of the current pixelBm. SetPixel (z++, y, Color.FromArgb (pixel. R, Pixel. G, Pixel. B));//Drawing } } returnBM; } Public voidSave (Bitmap Bitmap,stringpath) {Path= path. Replace ("rst","handled"); Bitmap.save (path, imageformat.jpeg); } }}
After dealing with the above problem, the texture is basically normal,
Haha, to here resource extraction even if the basic success, but ... Still have a problem, is the alpha channel is lost, thought for a long time and did not find a solution, can only use PS cutout, Khan ... If there is a great God to solve this problem perfectly, please leave a message to enlighten the HA
Attach the DDS conversion tool and Unity Studio tools Download: Http://files.cnblogs.com/files/lixiang-share/UnityResTools.zip
Unity Engineering Resources Hack