AssetRipper:3 步跑通的 Unity 资源提取器,免费开源
【免费下载链接】AssetRipperGUI application to analyze game files项目地址: https://gitcode.com/GitHub_Trending/as/AssetRipper
AssetRipper 是一款免费开源的 Unity 资源提取工具。它解析.assets序列化文件与 AssetBundle(Unity 打包后的资源文件格式),把模型、纹理、音频、脚本还原出来,并直接导出为可打开的 Unity 工程。面向游戏开发者、Mod 制作者,以及需要恢复旧项目资源的人。
为什么需要它
你一定遇到过这三种情况:原始工程丢了,旧版 Unity 编辑器找不到了,只剩一堆二进制.assets文件,手工解析无从下手;发布包体积超标,怀疑混入测试素材,却看不到 AssetBundle 里到底装了什么;做 Mod 需要原始纹理和模型,但没有工具能打开游戏资源包。
📋 核心能力速览
| 能力 | 一句话说明 | 典型用户 |
|---|---|---|
解析.assets、AssetBundle | 二进制游戏文件变可读资产列表 | 需要提取资源的用户 |
| 导出 Unity 工程 | 生成编辑器可直接打开的资产、场景 | 游戏开发者、Mod 制作者 |
| 程序集反编译 | 还原 Mono 游戏的 C# 代码 | 逆向与学习用途 |
| 跨平台 GUI | Windows、macOS、Linux 操作一致 | 团队协作 |
| 版本覆盖广 | 支持 Unity 3.5.0 到 6000.5.X | 旧项目迁移者 |
🚀 3 步导入第一个 .assets 文件
1. 确认环境要求
发布包是自包含可执行文件,无需安装 .NET 运行时(Linux 下 GUI 依赖浏览器窗口渲染组件;macOS 首次运行需允许未签名应用)。若要打开导出结果,需安装不低于目标游戏版本的 Unity Editor。完成标志:确定系统架构(x64 或 arm64),选对下载包。
2. 下载并解压
从官方 Release 页面下载对应平台的压缩包(如AssetRipper_mac_arm64.zip),解压即可,没有安装向导。完成标志:解压目录中能看到AssetRipper.GUI.Free可执行文件。
3. 启动并导入 .assets 文件
双击AssetRipper.GUI.Free(macOS 在终端执行./AssetRipper.GUI.Free),浏览器窗口打开设置与导入页。把游戏的.assets文件或 AssetBundle 拖进窗口,点击导入。完成标志:日志出现处理进度,输出目录生成带Assets文件夹的 Unity 工程。
实战场景
查找误打包的资源
发布包体积超标,怀疑混入测试素材。导入Resources或Data目录下的Level0.assets等游戏文件。得到全部资产及其引用关系列表,可对照实际场景挑出无用资源。
恢复旧项目资源
原始工程丢失,或旧版 Unity 已无法打开。从游戏序列化文件中提取资产并导出工程。得到新版编辑器可打开的项目,模型、纹理、材质保留原始属性。
从 AssetBundle 提取 Mod 基础素材
需要修改游戏的纹理或模型。导入对应的 AssetBundle,执行导出。得到通用格式的模型与纹理及原始材质参数,可直接用于制作替换资源。
💡 源码结构速读
文件读取层在Source/AssetRipper.IO.Files/:BundleFiles/解析 AssetBundle 头部、归档节点树与解压,SerializedFiles/解析.assets与类型树。解析后由Source/AssetRipper.Import/重建 Unity 对象图,Source/AssetRipper.Processing/组织场景、预制体与资产组。导出经Source/AssetRipper.Export.UnityProjects/写入 Unity YAML,模型、纹理、音频的格式转换由Source/AssetRipper.Export.Modules.下的子模块(如Source/AssetRipper.Export.Modules.Textures/)处理,Mono 游戏的 C# 代码由Source/AssetRipper.AssemblyDumper/反编译还原。GUI 是本地 Web 应用,Source/AssetRipper.GUI.Web/启动后监听随机端口并自动打开浏览器。
常见问题与排障
Linux 报Too many open files?启动前先提高文件描述符上限:
ulimit -n 1048576 ./AssetRipper.GUI.FreeMono 脚本导不出来?.bundle本身不存脚本。把游戏的Managed文件夹或对应.dll与 bundle 一起拖进窗口,日志出现Files use the 'Mono' scripting backend即成功。
macOS 报 Permission denied?执行chmod +x AssetRipper.GUI.Free。
只想解包.bundle或压缩文件?用Source/AssetRipper.Tools.FileExtractor/工具,把文件拖到其可执行文件上即可。
排查导出异常?加--log参数保留日志文件,再对照docs/articles/CommonIssues.md检索错误文本。
⚖️ 适合与不适合
适合:
- Mono 后端游戏,资产与 C# 源码一次提完。
- 旧项目迁移,官方文档标注支持 Unity 3.5.0 到 6000.5.X。
- 快速检查包内容,无需建工程,导入即可看资产列表。
不适合或需注意:
- IL2Cpp 游戏没有现成 C# 源码,需先用 Cpp2IL 等外部工具生成程序集。
- 缺少对应
.dll时,.bundle内的脚本无法还原。 - GUI 依赖浏览器渲染窗口,纯无头环境需配合
--headless使用。 - 不同 Unity 版本的支持质量略有差异,个别新版本特性需要等更新。
🔗 社区与获取
项目由独立作者持续维护,提供稳定版、预发布版与每次提交触发的 nightly 构建;社区通过 Discord 交流,界面已翻译 20 余种语言。源码获取:
git clone https://gitcode.com/GitHub_Trending/as/AssetRipper
GPL v3 开源、核心功能免费,它把文件解析、对象重建、脚本反编译、工程导出串成了一条完整链路,这个领域里少见。
【免费下载链接】AssetRipperGUI application to analyze game files项目地址: https://gitcode.com/GitHub_Trending/as/AssetRipper
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考