Unity3D研究院之mac上从.ipa中提取unity3D游戏资源(六十六)

本文详细介绍了如何在Mac操作系统上使用Disunity工具提取Unity3D资源,包括准备工作、游戏识别方法、资源提取步骤以及解决模型贴图问题的方法。通过指导读者下载并正确设置Disunity,实现对Unity3D游戏资源的高效提取。

http://www.xuanyusong.com/archives/2584


感谢今天某大神(既然是大神名子我当然要保密喽)告诉我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的图以后,可以在把它导出成可以直接在电脑上预览的图片了。。嘿嘿嘿嘿,是不是很简单哈?

http://blog.csdn.net/delguoqing/article/details/22619711 另外这篇文章可以推荐大家看看

 

我在补充一下, 这两个工具都是跨平台的, windows linux mac都可以使用的。


DisUnity v0.2.1 提取.assets .unity3d 文本 音频 字体 纹理图片 shader脚本等 不可用于非法破解他人资源,不可用于商业目的,仅供学习研究为目的!任何责任与上传者无关! 需JVM!!! 帮助: I've been working on an asset extraction tool for Unity-based games, since I needed such a tool for two Unity games I have. Moreover, the game engine has become very popular, so the unpacker should theoretically work with thousands of different games. Right now, it supports text, audio clips, most textures (including movie textures), fonts and substances from Unity versions ranging from 2.6 to 4.2. Support for static meshes is also planned, but will be added later, due to the complexity of the mesh data. There's no GUI for the tool yet, since it's still in an early experimental stage. So if you want to use it, you should have at least basic knowledge with the command line interface. :wink: Both source code and compiled builds are available on GitHub here. It is written in Java, so you'll also need to install the Java VM. For a quick start, you can use DisUnity like this: Code: disunity "resources.assets" (also works with .unity3d files) which is equivalent to: Code: disunity -c extract "resources.assets" If that doesn't work, try this: Code: java -jar disunity.jar "resources.assets" The files should then appear in a subfolder with the same name as the file. You can also try to play with the other parameters and commands that are listed with the -h parameter, but I think most normal people won't need these right now.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值