栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

【笔记】MacOS/Linux下dump unity3d的资源

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【笔记】MacOS/Linux下dump unity3d的资源

https://github.com/HearthSim/UnityPack

这个是一个python的 使用之前呢 先别急着git clone和python setup.py install。首先是为了干净 自觉创建一个virtualenv。然后就是安装dependency 虽然UnityPack会帮我们安装 但我安装的时候一直报错 所以就直接pip install了。

当然在MacOS上至少我的Intel BigSur上decrunch是安装不成功的 即使下载源代码python setup.py install也会报错 这个就麻烦了。所以搜索了一下这个库做了啥 原来是有些Texture2D是压缩了的 需要解压 反正我要摆弄的unity文件里没有要解压的 所以把unitypack/engine/texture.py里的import decrunsh相关的都移动到判断确实是压缩文件的if里 这样就不用安装decrunch了 记得顺带修改setup.cfg把decrunch注释掉。

安装完成 那么我们就可以使用了 unityextract --all -n -o /path/to/output/dir /path/to/unity/asset/file 这中间带个-n就是看看它运行了啥 要输出啥 oh no WARNING: Texture format not implemented. Skipping Erma.png 我要的资源没有解压。那只能再改改代码 把信息print出来了。啊哦 打印出来一个ETC2_RGBA8 再在代码里找找 IMPLEMENTED_FORMATS下面没有这项 所以它会抛出不支持的错误 那这个ETC2咋解

尝试了各种etcpack的第三方包 没有doc能说从raw block解码的 都是存成了ktx……

我记得windows上有个叫unityRipper的工具好像是可以解码的 找到它的github repo和对应文件

https://github.com/mafaca/UtinyRipper/blob/master/uTinyRipperGUI/ThirdParty/Texture%20converters/EtcDecoder.cs

啊喂 又要我来人工代码转换……C# - python 好吧 我写 几个小时后 运行……哈哈 输出一片栅栏格子…继续搜索 发现原来我一直再搜索PIL ETC2 decode 而我用的Pillow可不是PIL……一个pillow etc2 codec 好了 找到了别人写好的integration

https://github.com/K0lb3/etcpack

git clone python setup.py install 再import 好了终于可以decode etc2了。开始dump咯

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/267904.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号