尧图精选

AssetRipper:从 Unity 序列化文件到可编辑资产的提取工具

🕒 发布时间:2026/9/20 20:48:51 📁 来源:尧图网络
AssetRipper从 Unity 序列化文件到可编辑资产的提取工具【免费下载链接】AssetRipperGUI application to analyze game files项目地址: https://gitcode.com/GitHub_Trending/as/AssetRipperAssetRipper 是一个跨平台的 Unity 资产提取工具。它读取游戏的序列化文件.assets、.bundle 等把二进制数据解析成场景、预制体、网格、纹理、音频等资产并可以直接导出为可导入 Unity 工程的原生格式。能力总览维度支持范围输入Unity 序列化文件、AssetBundle脚本程序集.dll可随文件一并拖入以恢复 MonoBehaviour 脚本导出目标Unity Project含场景、预制体、材质、YAML 资产、Native 引擎格式、模型GLB、纹理PNG 等、音频辅助能力依赖资产查找、损坏引用检测、脚本反编译导出、音频解码Unity 版本3.5.0 至 6000.5.X不同版本的支持质量略有差异平台Windows / macOS / Linux各提供 x64 与 Arm64 包它基于 .NET 运行时GUI 是一个本地 Web 应用浏览器界面单文件解压即用不需要额外安装运行库。各平台安装要点Windows下载对应 x64 或 Arm64 的 zip解压后直接运行主程序。macOSM 系列芯片选 arm64 包首次运行需在系统设置 → 安全性与隐私中放行终端首次执行可能需要chmod x给可执行文件加权限。Linux解压即可运行如遇 Too many open files 报错先执行ulimit -n 1048576再启动见下文常见问题。若要把导出的资产导入 Unity 编辑器查看建议编辑器版本与目标游戏版本一致至少不低于游戏版本。一次完整的工作流把手游资源导出为 Unity 工程以一个常见的场景为例你拿到了某手游的Assets目录里面散落着.assets、.sharedAssets和若干.bundle文件。启动 AssetRipper 后是一个本地网页界面。把整个文件夹拖入窗口左侧开始滚动导入日志——它会逐个文件解析类型树、重建对象图。处理完点进去查看资源树场景、预制体、网格、贴图都能按层级浏览支持搜索定位。导出前先到设置页确认格式我比较推荐先用 Native 格式跑一遍看效果再决定是否导出完整 Unity Project。导出完成后得到的是一个标准工程目录结构直接拖进 Unity 编辑器打开即可场景和引用关系基本保持原样。如果是 IL2CPP 编译的游戏脚本不会随 bundle 一起出现——需要先用配套工具生成程序集再把 .dll 和 bundle 一起拖入日志里出现 Files use the Mono scripting backend 才算成功关联。源码组织方式如果你好奇它怎么实现的有三个目录值得看。Source/AssetRipper.IO.Files/是最底层虚拟文件系统、序列化文件解析、LZMA/LZ4 等压缩流都在这里所有上层模块通过它读文件。Source/AssetRipper.Processing/负责把解析出的对象加工成游戏数据场景遍历、Prefab 重建、动画与材质处理按资产类型分文件夹组织。Source/AssetRipper.Export.UnityProjects/是导出端每个子目录对应一类资产Audio/、Textures/、Scripts/ 等Project/子目录负责生成 Unity 工程骨架和 YAML 文件。GUI 本身在Source/AssetRipper.GUI.Web/页面按功能拆成一个个 Page 类设置页由源码生成器自动产出这种组织方式让加一个设置项的成本很低。横向对比同类工具里绕不开 uTinyRipperAssetRipper 本身就是在其基础上发展来的功能面更宽版本支持从 3.5 一直拉到 6000.x且跨三大平台。相比纯 CLI 的批处理脚本AssetRipper 的优势是有可视化资源树和逐文件日志出错时能定位到具体文件代价是它面向单次交互式提取没有开箱即用的批量队列需要脚本化场景时得自己包一层。对于拿到一批文件看看里面有什么这个核心诉求GUI 方案的试错成本明显更低。常见问题与应对bundle 里没有 Mono 脚本。原因脚本不在 AssetBundle 里而在 C# 程序集中。处理把 .dll 目录和 bundle 一起拖入 AssetRipper成功时日志显示 Mono 后端显示 Unknown 则说明程序集没配对IL2CPP 游戏需先生成程序集。日志报 Could not add pe assembly to name dictionary。原因Managed 目录下存在两个同名程序集按反编译器显示的名称算不是文件名。处理删掉或改名其中一个重复项再导入。MonoBehaviour 字段读取大量报错。原因使用了改过的程序集publicize、去属性等操作会改变字段反序列化行为。处理换用游戏原始的未修改程序集。Linux 下报 Too many open files。原因系统文件句柄上限太低。处理同一终端先执行ulimit -n 1048576永久修改则编辑/etc/security/limits.conf。适合谁下一步做什么如果你需要反复审计游戏里的资产依赖、从丢失工程的旧项目恢复素材或者单纯想拆解一款游戏的资源组织方式AssetRipper 是目前跨平台选择里覆盖面最广的。下一步建议先用一个小目录试导出一次 Unity Project确认你的 Unity 版本能正常打开再对完整资源下手细节行为可以看仓库内 docs/articles/CommonIssues.md 和 docs/articles/Downloads.md 两篇文档。【免费下载链接】AssetRipperGUI application to analyze game files项目地址: https://gitcode.com/GitHub_Trending/as/AssetRipper创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
上一篇/下一篇内容由系统自动关联 返回资讯列表 →