AssetRipper 使用指南:从游戏包里导出可编辑的 Unity 资源
【免费下载链接】AssetRipperGUI application to analyze game files项目地址: https://gitcode.com/GitHub_Trending/as/AssetRipper
AssetRipper 是一款开源的 Unity 资源分析与导出工具。它解析 .assets、.sharedassets、.cab 等序列化文件和 .unity3d、.bundle 资产包,把内容转换成 Unity 引擎可直接打开的本机格式资源,适合没有原始工程文件的 Mod 作者、游戏开发者和逆向工程学习者。
先看它解决什么问题
游戏安装包里的资源通常是二进制序列化形式,直接打开只有一堆无法辨认的字节。三类常见需求:
- 包内容看不懂:贴图、模型、音频都封在序列化文件或资产包里,想单独查看和使用。
- 开发者自查难:想知道哪些依赖资源被误打包、哪些引用已经断裂、哪些代码没能被裁剪。
- 资源没法复用:想把游戏里的模型、贴图像素带回自己的项目,但格式对 Unity 不可读。
AssetRipper 做的事就是:解析这些文件,列出其中全部对象,再转换成 Unity 原生格式;同时能报出被误打进包的依赖资源、断裂引用,以及未能内联或裁剪的代码。
3 分钟上手路径
最直接的入口是官方预编译版本,Windows / macOS / Linux(x64 与 Arm64)的说明在 docs/articles/Downloads.md,系统要求在 docs/articles/Requirements.md。解压后双击 GUI 程序即可。
典型流程三步:
- 把游戏的 .assets、.sharedassets 或 .bundle 文件拖进窗口;
- 在设置页选择导出格式(网格 Native、图片 Png、音频 Default、地形 Unity 等);
- 点 Export,得到可直接打开的 Unity 工程或资源文件。
若要从源码构建,需要 .NET 10 SDK,先克隆仓库:
git clone https://gitcode.com/GitHub_Trending/as/AssetRipper注意:导出的 Unity 版本最好与目标游戏一致,否则可能出现导入问题。
核心能力拆解
从包文件到可用资源
版本支持范围是 Unity3.5.0到6000.5.X,各版本兼容质量略有差异。解析逻辑的核心在 Source/AssetRipper.IO.Files/,负责序列化文件、资产包与各类压缩格式。
导出侧按资产类型分工:
- 纹理与 Sprite:Source/AssetRipper.Export.Modules.Textures/
- 音频:Source/AssetRipper.Export.Modules.Audio/,输出 WAV、OGG 等
- 模型:Source/AssetRipper.Export.Modules.Models/,可输出 GLB
- 完整 Unity 工程:Source/AssetRipper.Export.UnityProjects/
也就是说,产物可以是"一堆独立资源文件",也可以是"能直接打开的完整 Unity 工程"。
程序集与脚本
游戏逻辑在 C# 程序集(.dll)里,而不是资产包中。导出 Mono 脚本时,要把 .dll 程序集和包文件一起拖入;成功时日志会出现Files use the 'Mono' scripting backend.。IL2Cpp 游戏需先用 Cpp2IL 生成程序集;被修改过的程序集(publicize、去属性等)几乎必然导致读取错误。程序集的反编译与重建逻辑在 Source/AssetRipper.AssemblyDumper/。
适合与不适合的场景
适合:
- Mod 开发:提取贴图、模型、音频、Sprite 后重新打包
- 开发者自查:发现误打包的依赖、断裂引用、未裁剪代码
- 学习研究:观察 Unity 如何组织与序列化资源
不适合:
- 期望开箱即用就完整反编译 IL2Cpp 游戏代码,需要 Cpp2IL 前置步骤
- 借提取的资源做商业用途,工具本身不为使用授权负责
- 要求对全部 Unity 版本 100% 兼容,官方说明质量因版本而异
Linux 上"打开文件过多"等常见问题与解法见 docs/articles/CommonIssues.md,macOS 启动指引见 docs/articles/RunningOnMac.md。
资源与下一步
- 官方文档:docs/ 目录,含使用说明、下载说明与路线图
- 许可证:GPLv3.0,见 LICENSE.md
- 本地化:界面支持 21 种语言,见 Localizations/
- 问题反馈:通过项目官方 Issue 跟踪与社区服务器处理,入口见 README
如果只是想"看看游戏包里有什么、拿走几个资源",预编译版加 GUI 就够用;想弄清它如何解析,Source/ 目录下的工程结构本身就是很好的切入点。
【免费下载链接】AssetRipperGUI application to analyze game files项目地址: https://gitcode.com/GitHub_Trending/as/AssetRipper
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考