Unity 提取游戏资源之ktx转换

本文介绍如何使用PVRTexTool从Unity3D的.ipa包中提取并转换ktx资源为png格式,解决资源显示颠倒及拉伸问题,并提供批处理脚本示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

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插件等;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值