AssetRipper:把 Unity 游戏资源抽出来,直接导回编辑器
【免费下载链接】AssetRipperGUI application to analyze game files项目地址: https://gitcode.com/GitHub_Trending/as/AssetRipper
手头有一个 Unity 工程目录、一堆 .bundle 文件,甚至只是一个装好的游戏安装包,你想看清里面装了什么资源、再拿到能用的文件——这正是 AssetRipper 要干的事。它是一个带 GUI 的 Unity 游戏文件分析工具,把文件拖进去,就能解析并导出为 Unity 工程或网格、纹理、音频、脚本等散装文件,支持 Unity 3.5.0 到 6000.5.X 的项目。
🚀 先把它跑起来
拿到程序的两种方式
最省事的是下载预编译包:按平台和架构(Windows / macOS / Linux,x64 或 arm64)选对应的 zip,解压后运行里面的 GUI 可执行文件即可,各平台的发布清单见 docs/articles/Downloads.md。
如果你想从源码构建,先装好 .NET 10 SDK,再执行:
git clone https://gitcode.com/GitHub_Trending/as/AssetRipper构建环境和 IDE 要求(如 VS 2026、VS Code、Rider)写在 docs/articles/Requirements.md。
从文件到成品,只需三步
最小操作路径
- 启动 GUI,欢迎页就是设置页,第一次用可以先保持默认值。
- 把要分析的文件或整个文件夹拖进窗口。注意要一次性拖入相关文件,脚本程序集和资产包要放在同一批(后面会解释为什么)。
- 点菜单栏的 Export,选择输出位置,日志窗口会滚动显示导入和导出过程。
🎛 只改这几项设置
导出格式怎么选
设置页里真正影响结果的主要是这几项:
- Mesh Export Format:默认 Native,是编辑器里最好用的网格格式,之后可用 Unity 包转成其他格式。
- Image Export Format:默认 PNG,影响所有导出的图片。
- Audio Export Format:默认按资产内嵌类型输出,多数是 WAV,部分是 OGG。
Terrain、Sprite、TextAsset 这几项对大多数人保持默认即可。
脚本内容级别
Script Content Level 默认 Level 2:Mono 游戏导出完整方法体,IL2Cpp 游戏只导出占位方法(方法签名)。C# Language Version 选 Automatic - Safe 就够了。
最容易被忽略的一环:脚本程序集
为什么导不出脚本
Mono 脚本不存放在资产包里,而是编译在 .dll 程序集中。只拖 .bundle 进去,脚本自然是空的。正确做法是把 Managed 目录(整个程序集文件夹)和资产包一起拖入,日志里出现Files use the 'Mono' scripting backend才算接上了。
IL2Cpp 游戏则需要先用 Cpp2IL 把原生库转成程序集,再按同样的方式一并导入;模组用的 Il2CppInterop 程序集在这里并不适用。
出问题先看这三条
三个高频报错
- 现象:macOS 终端运行时报 Permission denied。处理:先给可执行文件加执行权限(chmod +x),再运行,完整步骤见 docs/articles/RunningOnMac.md。
- 现象:Linux 上报 Too many open files。处理:同一终端先执行
ulimit -n 1048576再启动。 - 现象:日志出现 Could not add pe assembly to name dictionary。处理:程序集目录里存在重名的 .dll,删掉多余的一份。
更多情形(比如改过的程序集导致反序列化失败)都收录在 docs/articles/CommonIssues.md;想深入看导出链路是怎么实现的,可以从 Source/AssetRipper.Export.UnityProjects/ 目录读起。
【免费下载链接】AssetRipperGUI application to analyze game files项目地址: https://gitcode.com/GitHub_Trending/as/AssetRipper
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考