首页 > 代码库 > Unity 提取游戏资源之ktx转换

Unity 提取游戏资源之ktx转换

 

http://blog.csdn.net/akof1314/article/details/38022263

 从雨松的博文《Unity3D研究院之mac上从.ipa中提取unity3D游戏资源(六十六)》可以学到提取Unity的游戏资源,其中有用到一个工具:PVRTexTool

因为这个工具的官网不好下载,故将其上传到CSDN,下载地址:http://download.csdn.net/detail/akof1314/7660209
 
提取出来的资源,其中的ktx资源,用PVRTexToolGUI.exe可以打开查看,可以发现都是上下颠倒,且被拉伸
 
直接转为png格式的批处理脚本为:
1
2
3
4
5
6
7
 
@echo off
path %path%;"D:\Imagination\PowerVR\GraphicsSDK\PVRTexTool\CLI\Windows_x86_32"

for /f "usebackq tokens=*" %%d in (`dir /s /b *.ktx`) do (
    PVRTexToolCLI.exe -f PVRTC1_4 -i "%%d" -d "%%~dpnd.png"
    del "%%~dpnd.pvr"
)
 
PVRTexTool也支持翻转参数flip,但是在这里,我测试无效,只能使用另一个工具ImageMagick来进行上下翻转,批处理脚本为:
1
2
3
4
5
6
7
8
 
@echo off
path %path%;"D:\Imagination\PowerVR\GraphicsSDK\PVRTexTool\CLI\Windows_x86_32"

for /f "usebackq tokens=*" %%d in (`dir /s /b *.ktx`) do (
    PVRTexToolCLI.exe -f PVRTC1_4 -i "%%d" -d "%%~dpnd.png"
    del "%%~dpnd.pvr"
    "D:\Program Files\ImageMagick-6.8.5-5\convert.exe" -flip "%%~dpnd.png" "%%~dpnd.png"
)
 
参考资料:
1.Unity3D研究院之mac上从.ipa中提取unity3D游戏资源(六十六) http://www.xuanyusong.com/archives/2584
2.解析Unity3d资源(图片,模型,Shader) http://www.unitymanual.com/thread-18763-1-1.html
 
然后记事本新建一个文本输入以下:
@echo off
path%path%;"D:\Imagination\PowerVR\GraphicsSDK\PVRTexTool\CLI\Windows_x86_32"
 
for /f "usebackq tokens=*" %%d in(`dir F:\lushi\Data\cardtextures1\CAB-cardtextures1\Texture2D /s /b *.ktx`) do(
PVRTexToolCLI.exe -f PVRTC1_4 -i"%%d" -d "%%~dpnd.png"
del %%~dpnd.pvr
)
 
解释下:
 
D:\Imagination\PowerVR\GraphicsSDK\PVRTexTool\CLI\Windows_x86_32"
这个是我PVRTexTool文件夹下的Windows_x86_32程序路径,按你自己PowerVR Tools文件夹找到windows_x86_32即可;
 
 
F:\lushi\Data\cardtextures1\CAB-cardtextures1\Texture2D/s /b *.ktx
这个是你想转化的ktx文件所在的路径
 
然后把文本格式从.txt 改为.bat;然后双击,就开始执行批处理了;
 
转化过程有点慢,慢慢等着。。。转化后的.png图片就在.ktx的同级文件夹下;

其他:从Data文件夹下;
Managed 
这个文件里边是代码
Assembly-CSharp.dll
是工程里边用到的脚本;用reflector能反编译;
从Managed文件夹中还能看出一些东西,比如
protobuf-net.dll
说明游戏用的数据传输格式是protobuf
Assembly-CSharp-firstpass.dll 
里边有个itween,说明用到了itween插件等;

Unity 提取游戏资源之ktx转换