简介:CG提取工具包面向游戏汉化、模型复用与逆向分析人群,可帮助用户从游戏中导出立绘、背景、模型、动画等资源,省去手动抓包和格式转换的繁琐流程。压缩包共含520个文件,大小5.56MB,其中txt文档325个,cui插件170个,另有dll、exe等可执行与配置组件。txt文件多为说明与格式参考,cui插件则对应不同游戏引擎的解析逻辑,覆盖kirikiri2、EntisGLS、FS3D、RealLive等常见引擎格式,并且支持文件解析、图像处理、动画序列还原、纹理贴图导出及加密资源解密等多类技术场景。已有4737人学习/下载。整套工具整合了解包、解析、导出等环节,可直接处理多种封包资源,适合具备计算机图形学基础或正在研究游戏资源提取的开发者作为学习与实战参考,对游戏汉化组、素材复用整理者和逆向分析初学者也有直接帮助。 很多人在游戏里看到一张特别好看的CG,第一反应是直接按截图键。结果截出来要么带着对话框,要么被LOGO挡了半张脸,要么放大之后全是锯齿。我最初做游戏视频和同人图素材时也这么干过,后来才慢慢意识到,真正干净的CG源文件其实一直就在你电脑里,只是被塞进了游戏资源包。所谓“CG提取工具”,干的就是把这个过程规范化、无损化的活。
先给还不熟悉的朋友一句话说明白:CG在游戏圈里的通用含义是高精度插画、立绘、过场动画帧,提取工具则是指针对游戏目录下的资源文件进行解包、筛选和导出的软件。这篇内容适合几类人:想收高清壁纸的收藏党、做视频剪辑和二次创作的内容作者、写同人文需要配图的人,以及想把喜欢的作品整体归档的玩家。我会把选型逻辑、实操步骤、常见坑一次讲完,也会单独聊一聊“视频提取”这些热门需求里的合法边界,免得大家走弯路。
1. 先说清楚:“CG提取”到底在解决什么问题
1.1 一张“高清CG”为什么非要提取不可
很多游戏的鉴赏模式其实已经算官方给玩家的“CG收集功能”了,但它并不总是可靠。我遇到过的情况包括:画廊里只给一个被UI包围的展示位,氛围图被压到只有手机预览级的分辨率;某些多分支作品的隐藏CG只在特定路线出现,通关一遍根本集不齐;还有不少游戏的“动态CG”是一段短视频,截图根本没法表达完整画面。
所以玩家群体里“全CG存档”的需求一直很旺盛。你去社区搜“某某作品 全CG存档”,能翻出大量分享帖,类似“白鹭白百合的华丽日常cg存档”这种资源包,本质就是有人把分散在各剧情分支里的关键插画和过场素材全部提取出来,整理成离线归档。但我要先提个醒:下载别人打包的存档虽然省事,来源是否干净、文件里有没有夹带私货都不好说,而且不少分享本身是灰色地带。自己动手提取,才是长期稳定、可控性最强的路子。
1.2 截图、录屏和解包的差距到底在哪
我做过一组对比,同一张CG用三种方式拿到手,差别非常明显:
| 获取方式 | 分辨率 | 画质来源 | 常见问题 | 适合场景 |
|---|---|---|---|---|
| 游戏内截图 | 等于当前窗口/屏幕分辨率 | 引擎渲染后输出 | 带UI、有压缩痕迹、尺寸小 | 快速记录 |
| 录屏再抽帧 | 等于录制分辨率 | 编码损失后再抽帧 | 画面偏软、有压缩纹理 | 动态CG回味 |
| 解包导出 | 原始资源尺寸 | 无损原图 | 可能需处理透明通道 | 收藏、二创、归档 |
举个例子:某Unity游戏里一张立绘源文件是2048乘2048的PNG,还带透明通道,但游戏运行到特定场景时只给你显示一个800乘600的局部,周围全部裁掉。截图拿到的永远是那个局部,解包拿到的才是完整立绘。动态CG也是同理,录屏只能是压缩过的视频,解包则能摸到原始的序列帧或者无损视频流,后面想怎么剪就怎么剪。
2. 识货才能动手:游戏资源格式与工具选型逻辑
2.1 先搞清楚游戏资源是怎么塞进包的
动手之前得先看一眼游戏目录。Steam或者单机游戏安装完,常见的资源组织方式就那么几类:
- Unity引擎游戏:资源集中在游戏名
_Data文件夹下面,常见的是globalgamemanagers、CAB-xxx、*.assets、*.assetbundle。立绘和背景图大多以Texture2D、Sprite的形式存在这些文件里。 - 吉里吉里/KiriKiri引擎(大量日系AVG和Galgame):主要资源都封在
.xp3文件里,内部包含图片、音频、脚本和视频,整体结构非常规整。 - Ren‘Py引擎:资源通常打包成
archive.rpa,本质上是带偏移表的zip变体,解包难度不高。 - 其他引擎或大厂私有格式:常见有
.pak、.arc、.nsa、.usm、.bik等。.usm和.bik一般不是图片而是视频流,也就是动态CG的载体。
搞清楚这些格式,选工具就有的放矢了。很多人下了一堆“万能提取器”发现打不开,不是工具不行,而是没弄明白游戏用的是什么引擎。你连对象都不知道,钥匙自然配不上。
2.2 按引擎选工具,别指望一把钥匙开所有锁
| 工具 | 适用对象 | 操作难度 | 批量能力 | 备注 |
|---|---|---|---|---|
| AssetStudio | Unity引擎 | 低 | 中 | 老牌开源,支持多数Unity版本 |
| GARbro | 吉里吉里、部分ADV引擎 | 低 | 高 | 预览、导出一体,社区更新活跃 |
| QuickBMS | 各类私有封包格式 | 中 | 高 | 靠脚本驱动,需找对应.bms |
| UnityPy | Unity引擎 | 中高 | 高 | Python库,适合写自动化脚本 |
这个选型逻辑来自我踩过的坑:早期我图省事,只用一个所谓的“一键CG提取器”,结果碰到第一作Unity游戏就卡住了,换到吉里吉里引擎的游戏更是直接闪退。后来老老实实按引擎分类,Windows端固定装三个工具,基本覆盖了九成以上场景。
另外多说一句,AssetStudio是Unity平台当之无愧的主力,建议直接去它的开源仓库下载最新Release。它不仅能看纹理,还能列出Sprite、Mesh、TextAsset、AudioClip等类型,对素材整理来说很够用。GARbro则更适合批量场景,XP3文件拖进去之后可以按目录预览缩略图,选中全部导出,效率比手动截图高太多。
2.3 为什么不推荐来路不明的“一键提取全家桶”
这个必须单独拿出来说。搜索“CG提取工具”的时候,你会看到大量带下载器、需要注册登录、要扫码授权的网站,有的还自带“家用电脑版”的夸张弹窗。我身边真有朋友为了提取某作CG,下了一个所谓“专业版工具”,装完电脑多出来三个全家桶软件,浏览器主页被锁死,游戏账号还被异地登录提醒。后来查下来,问题就出在那个安装包上。
真正靠谱的提取工具,几乎都是免费开源的,也不需要联网授权。你想想,一个纯本地解包工具,为什么要你输入手机号、为什么要你升级VIP?这部分风险完全可以通过“只用GitHub等可信渠道下载”来规避。我自己现在的原则很简单:本地资源、开源工具、能断网操作就断网操作。
3. 三种主流的无损提取路径实操
3.1 Unity引擎:AssetStudio 导出 PNG 全流程
Unity游戏提取CG是我用得最多的场景,步骤也不算复杂:
- 打开AssetStudioGUI,点
File > Load file。 - 进入游戏安装目录下的
游戏名_Data文件夹,优先加载globalgamemanagers或level0,也可以直接Load folder选择整个Data目录,让它批量读取。 - 读取完成后,在
Asset List面板把Class Type过滤为Texture2D。这个过滤很关键,不然列表里会被脚本文件、音频、网格信息刷屏。 - 在
Preview面板逐个预览,勾选你需要的CG,右键选择Export > PNG。 - 如果是手机游戏的obb数据包,先要把obb和游戏数据合并或映射出来,AssetStudio才能读到完整资源,这一步可以在网上搜对应游戏的资源映射方案。
如果遇到立绘被切成多个Sprite的情况,可以在过滤条件里同时查看Sprite类型,观察它从哪张图集裁出来的。必要时用PS手动拼一下,或者用脚本按Unity生成的sprite rect信息自动拼回完整图。
3.2 吉里吉里引擎:GARbro 批量解包 xp3
吉里吉里引擎的资源结构相对透明,步骤更直接:
- 下载GARbro并解压,运行主程序。
- 把目标游戏的
.xp3文件直接拖进窗口,内部文件列表会立刻加载出来。 - 用右侧预览区确认图片内容,GARbro支持直接看缩略图列表,比AssetStudio还要直观。
- 选中需要的资源,右键
Export导出全部或选中的图片、音频。
这里有个小坑:部分游戏对xp3做了加密或文件名混淆,导出的文件名可能是一串乱码。这时候别慌,图片本身的预览是正常的,你可以根据实际画面去重命名。还有一些加密幅度更大的游戏,GARbro会提示需要Encrypted选项,需要额外指定密钥文件,这部分通常会在工具的项目页说明里找到。实测下来,GARbro对大多数商用引擎游戏的成功率非常高,是收藏党最值得先装的工具。
3.3 批量自动化的进阶思路:用 UnityPy 写一个简单导出脚本
当你需要提取的资源量很大,比如要把一款RPG的全角色立绘、全结局CG一次性归档,AssetStudio一个个右键导出就太慢了。这时候可以用UnityPy这个Python库做批量自动化。
from UnityPy import load_file import os src = "globalgamemanagers" # 可换成具体assets文件名 dst = "output" os.makedirs(dst, exist_ok=True) env = load_file(src) for obj in env.objects: if obj.type.name == "Texture2D": data = obj.read() name = os.path.basename(data.m_Name) or f"tex_{data.m_PathID}" img = data.image img.save(os.path.join(dst, f"{name}.png"))这个脚本干的事很直接:读取目标文件里的所有Texture2D,用Unity引擎的纹理解码能力转成PIL可保存的图片对象,最后按资源名存成PNG。实际项目中你还可以再加一层判断,比如按文件夹名过滤角色名、按尺寸过滤背景图、把带透明通道的图单独输出到子目录。UnityPy的灵活性在于它把“解包”和“组织文件”绑定在了一起,适合有编程基础、想做本地素材库的朋友。
3.4 实操中一定会踩的几个坑
第一,导出的PNG全黑。这通常是因为资源本身就是DXT等压缩纹理,而UnityPy或AssetStudio在部分版本里没能正确转换。解决方式是升级工具的版本,或者用PS插件intel texture works手动解码。
第二,透明通道显示成灰底或发白。很多立绘是预乘alpha(premultiplied alpha),直接另存会把半透明区域弄脏。判断方法很简单:用PS的通道面板看Alpha通道,如果白色边缘泛灰,就说明需要做“去掉预乘”的操作,公式是rgb除以alpha,或者找脚本批量处理。
第三,找不到想要的CG。很多CG其实是动态立绘,被拆成了几十上百帧差分图,或者直接以视频流形式混在资源包里,AssetStudio的2D过滤里根本看不到。这时候把过滤类型切到VideoClip或者搜索.usm、.bik后缀的文件,再结合GARbro或QuickBMS提取。
第四,工具打不开新版引擎的游戏。Unity每个大版本都可能有资源格式变化,AssetStudio的兼容性往往跟不上最新版。这种情况我一般换同类分支工具,比如AssetRipper,或者用UnityPy自己写兼容逻辑。
4. 提取后的归档整理与二次创作边界
4.1 画质校验与透明通道处理
提取出来一批图之后,第一件事不是急着看,而是做校验。我习惯开一个支持缩略图列表的工具,按分辨率倒序排,先把明显是缩略图的素材筛掉。批量查看分辨率可以用PowerShell脚本,几行就能把文件夹里所有PNG的尺寸列出来。
透明通道的处理要看用途。做壁纸的话,立绘透明背景可以直接和白底或黑底合成;做视频剪辑,透明背景的立绘素材最好保留PNG序列帧或WebM带透明通道,别转成JPG,会丢信息。如果一张立绘是从多个Sprite拼出来的,我会先在PS里用参考线对好拼接位置,再用脚本做批量拼接,这样后续搜索和使用都方便。
另一个容易被忽略的是去重。同一个CG经常以不同尺寸、不同压缩质量存在资源包里,提出来后会占用大量空间。用图片哈希去重工具扫一遍,把重复的大文件留下、小缩略图删掉,本地CG库能瘦身一半以上。
4.2 让CG库可以被搜索:目录与标签的建立
提取只是第一步,归档才是让素材真正能用起来的关键。我的目录习惯是三层结构:
游戏名 ├── 立绘 │ ├── 角色A │ ├── 角色B │ └── NPC ├── 背景CG │ ├── 剧情场景 │ └── 特殊CG └── 动态CG ├── 视频文件 └── 序列帧文件名我倾向于改成“角色_表情_场景_编号.png”这种格式,不要保留那些又长又乱的原始资源名。这样在剪辑软件里搜索关键词时,直接打角色名就能把所有相关差分图列出来。
本地素材管理软件方面,试用过一圈之后,我现在固定用Eagle和Billfish的组合。Eagle胜在插件生态和标签系统,Billfish免费且查看大图流畅,适合入门。管理CG库时,标签比文件夹更灵活,同一个角色既能打“女主”标签,又能打“战斗服”标签,还不会破坏目录结构。
4.3 分享与二次创作的版权边界
这是必须说清楚的部分。从你自己购买、安装的本地游戏文件中提取CG,用于个人收藏、学习参考、同人创作,通常处在合理使用的范围。但把它打包成资源包公开传播,或者做进商用项目里,就直接触碰版权红线了,很多游戏公司对拆包提取资源的行为有明确禁止条款。
我做视频时给自己定的规矩是:能用官方发布的壁纸、官方素材包就优先用官方;官方没有,才考虑从自己拥有的游戏本地文件提取;提取后只在个人创作中使用,不公开传播原始素材。你要是打算做同人志、解包分享群之类的东西,务必先去作品官方渠道确认授权规则,不要觉得“大家都这么干”就跟着踩线。
5. 视频与加密内容的合法存档:避坑指南
5.1 平台视频提取的热门关注与“合法场景”
搜索热词里经常能看到“B站充电视频提取工具”“优酷视频提取工具”“gem加密视频提取工具”这些词条。这些需求本身不难理解:大家买了会员或充电专属视频,想下载到本地离线看,怕哪天平台下架或会员过期。但这里我必须把“合法场景”和“灰色地带”分开说。
合法且靠谱的场景有三种:一是平台本身就提供缓存或离线下载功能,这种直接用官方客户端,限期内本地观看没问题;二是你自己拍摄、录屏产生的素材,版权在你手里,随便处理;三是内容方明确授权你下载和再编辑的素材。在这三种场景下,你根本不需要什么花哨的提取工具。
5.2 加密视频提取工具为什么不要碰
再回到那些打着“gem加密视频提取工具”“充电视频提取”旗号的东西。我专门研究过几个,下载页套路几乎一样:先让你加群,再让你注册登录,最后下载一个几十兆的安装包,装完要么弹广告,要么要扫描授权。真正能完成所谓“解密提取”的,十个里面未必有一个。
我不建议碰它们的理由很直接:第一,绕过技术保护措施本身就是违规的,平台较真起来轻则封号重则承担法律责任;第二,这类来路不明的工具往往夹带木马,专门盯你登录状态的账号信息;第三,很多工具只是在用“提取”的名义引流,实际功能根本没法用,纯浪费时间。
你可以换个角度想:一个真能破解DRM加密的工具,价值极高,开发者凭什么把它免费挂在网页上让你下载?越是一眼看上去“白嫖神器”的东西,越可能是反向收割你的筹码。
5.3 个人录制与官方缓存是更靠谱的存档方案
如果你确实想保存某些自己已购买或已授权的视频内容,我推荐两条相对安全的路径。
一条是录屏。用OBS Studio录制窗口或显示器画面,录制设置里选MKV或FLV格式防止文件损坏,录完再重混为MP4。画质上,只要把比特率拉高、源分辨率开满,对1080p的内容来说和原文件区别很小。缺点是无法绕过DRM带来的轻微画面损失,而且部分平台会做黑屏或版权检测,录制前最好自己确认是否符合平台规则。
另一条是官方离线缓存。B站客户端、优酷客户端对会员内容基本都有缓存功能,只是有些缓存文件有时效限制,到时间需要联网续期。从版权保护和合法性的角度看,这反而是最稳的做法。你想要的其实是“随时能看”,不是“必须破解”,官方缓存恰恰能满足大部分需求。
至于“CG提取工具”这个主题本身,我还是建议把它定位在本地游戏资源处理和个人素材归档上。工具是死的,人是活的,拿着开源工具处理自己合法拥有的文件、归档自己的素材,既能提升创作效率,又不会把自己置于账号风险和版权风险之下。
最后分享一个我的使用习惯:电脑里固定留AssetStudio、GARbro、QuickBMS这三个主力工具,再配一个UnityPy环境备用,其余同类软件一概不装。选择少一点,反而不会被花里胡哨的界面带偏,需要提取时打开即用,省下来的时间都花在整理和创作上,这才是提取工具真正的价值所在。
本文还有配套的精品资源,点击获取