跳转至

字体

Ongeki使用了3种字体,其中SEGA_HUMMING-B使用的是早期版本的TextMesh Pro,具体版本找不到,在dnSpy种显示时间戳为2017/3/31 7:17:05,该日期之前的TMP插件我没找到哪里有,找到最远的只有1.0.56的dll only版。

该字体还有ttf格式的文件在游戏内,不清楚游戏是否调用了该ttf文件。

另外两个字体,SegaKakuGothicSegaMaruGothic使用的是BitMap Font字体,其中SegaKakuGothic有16和40两种px大小的样式,SegaMaruGothic有16,32,64,128四种px大小,但128px大小的只有部分数字,字母和特殊符号,因此翻译可以直接略过。

Note

Humming字体有中文版,为FontWorks和方正联合推出的方正FW轻吟体,不过中文版相比日文版岁多了中文支持,但缺少部分字,需要自己合并一下。用WB的合并。

TextMesh Pro字体

此处使用1.50版本演示,操作之前记得备份你的文件

我的方式可能比较草台,要是有更好的方式就在评论区教教我,谢谢喵

1.塞Textrue 2D文件

Humming字体的t2d文件,是塞在resS文件里的,asset文件里就一个指针,但UABEA不会改resS的文件,只会塞到assets里面,然后改文件指针指向位置,所以可以使用十六进制编辑器直接改。

在分辨率一样的情况下,TMP的t2d文件大小是一样的(类似DDS,说不定用的就是DDS?)

Note

当然直接硬塞也行,就是assets会变大)

(1)找到编译好的文件

用AssetStudio找到字体文件在哪个文件里,塞UABEA里,找到对应TMP字体的t2d文件,点View Data,展开最下面的StreamingInfo m_StreamData,记下offset(起始位置),size(大小),path(具体在哪个文件)。

用十六进制编辑器打开path指向的文件,跳转到offset指向的位置,往下复制size大小的数据,可以找个地方保存起来

(2)找到替换目标位置

重复上面的步骤,不过用的是音击的文件

找到后全部选中,不用保存,拿上一步复制好的数据覆盖就行

2.塞MonoBehavior文件

(1)用UABEA提取MonoBehavior文件,记得用Export Dump导出,然后用UABE text dump (*.txt) 保存(网上说json会遇到转义字符问题,txt则没有)

(2)要是你用的是和音击同一个版本的TMP(求求你发我一份)),那么恭喜你,直接替换pathID和hashcode(这个不确定是不是一定要换,听说不换在部分游戏有小概率炸),然后直接Import Dump就行了。

(3)当然,我要是因为找到同一个版本的TMP就不会有这篇教程了。

这个时候,做完第二步,然后把两个文件塞Beyond Compare,或者用你的眼睛找不同参数就行,例如我用的这个版本比音击用的新增和删掉了部分参数,如图所示(右为音击的,左为我的)

这种时候,把音击的这边参数直接复制粘贴过来就行,反正全都是0。

改完后用UABEA的Import Dump塞进游戏就行

此链接为个人制作的TMP字体,改好了MonoBehavior。没后缀名的是从resS提取出来的TMP的Texture 2D文件。

Note

下面的链接,无后缀的为resS提取的TMP的Texture 2D,PNG为Dump提取的,txt为修改好的MonoBehavior,ttf为我个人做的合并字体 不同版本的PathID可能不同,记得改

TMP字体

Bitmap Font(位图字体)

使用该项目来制作:Unity-BMFontImporter

Note

我的分支加了一点东西,可以看看)

GzLxz190614/Unity-BMFontImporter

Note

下面的链接,PNG为Dump提取的,txt为修改好的Font,不同版本的PathID可能不同,记得改

BMFont字体

Note

MaruGothicDB可以用汉仪正圆65W合并,KakuGothicDB用汉仪旗黑X1-65W

评论