红魔乡图片解包教程,东方官作通用,额外处理红魔乡图片透明度问题
发布于: 2026/02/10 19:10:58
内容概要
介绍了使用thtk及其图形化界面解包提取红魔乡的图片资源的方法,以及解决红魔乡图片资源透明度缺失的问题,还有一些关于红魔乡图片资源的趣事
本文介绍了如何解包提取红魔乡的图片资源。
解包资源
东方官作的游戏资源解包可以使用thtk工具完成,这是一个命令行工具。不熟悉命令行操作的或者和我一样懒的可以使用re_thtk_gui工具,这是一个thtk的图形化交互界面,开箱即用,点一点就能完成解包。
下面介绍使用re_thtk_gui解包红魔乡资源文件的流程。
选择游戏版本
界面左上角->游戏->TH06

打开dat文件
thdat->文件路径->最右侧按钮

选择dat文件
进入游戏目录->选择第一个.DAT文件

选择输出路径
一般选择dat文件后,会自动填充解包路径和所有文件文本框。
解包路径: 存放解包.DAT文件后得到的游戏资源文件(是一个文件夹)所有文件: 输出.DAT文件内文件列表的路径(是一个.txt文本文件)

运行解包程序
点击解包,等待程序运行完成。期间GUI界面可能会暂时假死,并闪过数个命令行窗口,属于正常现象。
如果是后来出的正作,到这里基本就算解包完成了。然而作为新作中的第一作,红魔乡比较特殊,因为它的.DAT文件总共有6个(不像大多数新作只有一个)。因此,需要重复上述操作总共6次,分别完成对CM、ED、IN、MD、ST、TL总共六个.DAT文件的解包。
处理图片
完成对六个.DAT文件的解包之后,打开输出目录,可以看到.anm、.ecl、.std等等许多文件类型,其中.anm文件就是游戏的图像资源。如果是后来出的正作,基本上只要直接解包这些.anm文件就可以得到.png文件。

图片透明度
然而,作为新作中的第一作,红魔乡还是那么的特殊,直接解包这些.anm文件并不能得到任何输出文件。注意到,其实解包红魔乡的.DAT文件之后直接就得到了.png和.jpg文件。那是不是说,这些图像文件就不需要进一步处理了?NO NO NO,你还应当注意到,这些.png图片似乎不是没有透明度,就是没有彩色?!!
其实,这些.png图片大都经历了通道拆分,即将原图的Alpha(透明度)通道的值拆分出来存放到一个单独的文件中,从而原图只保留了RGB色彩信息而损失了透明度信息。对于一个RGB通道图xxx.png,其对应的Alpha通道图被命名为xxx_a.png,此图为灰度图,其每个像素的亮暗指示着原图对应像素的透明度值。
我不知道这样做的目的何在(为了节省存储空间?)(何意味),甚至不知道分割图片Alpha通道这种事究竟是ZUN干的还是thtk干的。
反正,我又专门写了一个程序用来合并这些通道图。
合并通道图
解包后得到的.anm文件一共有83个,然而使用上述工具合并通道图后却只能得到63张.png图片。结合.anm文件的内容(使用十六进制编辑器查看)和对应图像文件的实际情况,这中间缺少的20张图片,或是和其他图片共用一张Alpha通道图从而导致合并程序无法正确识别(共5张),或是图片本身自带Alpha值从而不需要Alpha通道图(共11张),或是其.anm文件根本就不存在对应的图像资源(共4张)。
这20张图片所对应的Alpha通道图在下表中列出。
| ANM文件 | Alpha通道图 |
|---|---|
| asciis | ascii_a |
| capture | 不存在 |
| eff00 | 不需要 |
| eff01 | 不需要 |
| eff02 | 不需要 |
| eff03 | 不需要 |
| eff04 | 不需要 |
| eff05 | 不需要 |
| eff06 | 不需要 |
| eff07 | 不需要 |
| face10b | face10a_a |
| face12b | face12a_a |
| loading | 不需要 |
| music01 | 不存在 |
| music02 | 不存在 |
| stg2bg | 不需要 |
| stg6bg | 不需要 |
| text | 不存在 |
| title01s | title01_a |
| title04s | title04_a |
图像资源
在thcrap的图片翻译页面可以查看所有图像资源的原始图像、精灵边界、翻译图像。
或者我这里也提供我自己解包出来的图像资源:
注:在thcrap的翻译补丁中有5张以ti_开头的可用图像是原版游戏所没有的,它们是thcrap补丁使用的独有资源。
这些不是原版日语游戏的一部分,但是可以选择性地在翻译中使用,而非原版的纯文本。
趣事
消失的评级
观察直接解包得到的图片result03.png,可以注意到在结算界面的最下方原本有“総合評価”和“称号”两项,然而这两行文本在Alpha通道图中所对应的区域为全黑(表示其不透明度为0),导致输出图像中这两项完全不可见。游戏中也始终未使用这两行结算文字。



由此可以推断出,ZUN原本可能打算在红魔乡中也加入评价/称号系统的,但大概还是由于“时间紧迫”的原因吧,这个源于旧作的优良传统没能延续下来。
隐藏的色块
注意到直接解包得到的图片face08a.png(对应下方output图片)其实本身就自带透明度信息,但它也拥有其对应的Alpha通道图(对应下方face08a_a图片),只不过合并通道后原图并不会产生任何变化罢了。然而,如果对output图片进行通道拆分操作,得到的RGB通道图(对应下方face08a图片)就与直接解包得到的原图有所不同了,并且显现出大片隐藏的残留色块。



其实这就是将直接解包得到的原图的每个像素的不透明度全部设置为255(完全不透明)的结果。设置不透明度后,显现出隐藏色块,其实就是因为这些色块部分其实都具有颜色信息,但它们在原图中的不透明度为0,因而变得不可见。
其实face08a、face08b、stg4enm、stg5enm这几张图片都有这种问题,其中stg4enm和stg5enm其实是完全一样的,我暂且想象不到是什么原因导致这些色块残留在了游戏文件中。