[技术] Quest UE4 简中安装版游戏繁体化教学

楼主: hsz0566 (HSZ)   2024-08-24 10:32:58
本篇教学属于 Level 2 较为进阶的“已经有简体汉化安装版(非补丁),提取文本简转
繁制作成繁体中文化更新档”,建议先看过第一篇 Level 1 教学“Quest 一体机 UE4 游
戏简中汉化补丁繁体中文化”之后再阅读本篇,技术原理和工具操作的学习会比较循序渐
进。
前篇:Quest UE4 游戏简中补丁繁体化教学
https://forum.gamer.com.tw/C.php?bsn=60606&snA=4213
以下进入实际操作步骤:
0. 前置作业
需要预先安装的程式和下载的小工具,都和 Lv1 教学相同,请参考 Lv1 教学的“一、前
置作业”
1. 找到 _p.pak 汉化补丁文件(详 Lv1 教学 2-1)
取得简体中文版游戏安装版,在此用《子弹风暴 VR》(Bulletstorm VR) 为例,用解压缩
软件譬如 WinRAR 开启 main.105.com.PeopleCanFly.Thunder.obb 和 patch.105.com.Pe
opleCanFly.Thunder.obb, 会发现 main 里面都是 mp4 影片档(游戏中的过场动画),
而 patch 解压缩后,在 Thunder\Content\Paks 资料夹内会有三个档案:
pakchunk0-Android_ASTC.pak
pakchunk0-Android_ASTC_p.pak
pakchunk0optional-Android_ASTC.pak
其中第二个档名最后是 _p.pak 结尾的就是汉化补丁,阶段性任务完成!
2. 解包 pak 文件(详 Lv1 教学 2-2)
透过 Level 1 教学的 UnrealPakSwitchv10 工具,确认版本(这边是 11 或 11.27, 通
常建议用 11.27 解包、用 11 打包),然后把 pakchunk0-Android_ASTC_p.pak 解包,
会得到 lista.txt 和 pak 内的语系档(包含 locres 文本和 ufont 字型)
\Thunder\Content\Localization\Game\en\Game.locres
\Thunder\Content\OriginalAndModified\Fonts\DFP_sougeitai.ufont
3. 替换字型(详 Lv1 教学 3-7)
用繁体字 ttf 去取代 DFP_sougeitai.ufont
4. 文本简转繁
Lv1 教学介绍的 locres 文本提取工具是UE4-Locres-Unpacker(得到 txt 档,只有文本
,没有键值),但不是每个游戏的都能正常提取,因此这篇介绍一个更好用的工具 Unrea
lLocres.exe(得到 csv 档,内含文本和键值),以下是详细操作步骤。
4-1. 把 Game.locres 和 UnrealLocres.exe 放在同一个资料夹内
4-2. 在资料夹的空白处按右键 -> 在这里开启 PowerShell 视窗
4-3. 在 PowerShell 视窗输入以下指令后按 Enter
.\UnrealLocres.exe export .\Game.locres .\
就能得到 Game.csv
4-4. 直接用 Excel 开启 Game.csv 会看到乱码,因此先新增一个 Excel 空白文件 “N0
01.xlsx” 并开启
4-5. 点选资料 -> 从文字/CSV -> 选 Game.csv -> 点选“加载”,就能正常看到 Game.
csv 的内容了
A1, B1, C1 分别是 Column1, Column2, Column3, 这一列用不到,但无法删除,因此需
要再新增一个 Excel 空白文件 “N002.xlsx” 并开启
4-6. 在 N001.xlsx 试算表往下拉,可以看到最后一列文本位于 5485, 接着选择全部文
本,方法是:左键点一下 A2 (key) -> 拉到最下面 -> 按著 Shift 不放,左键点一下 C
5485, 就能全部的文本档内容都被选取(下方状态列显示项目个数:16452)
4-7. 常用 -> 复制,然后到 N002.xlsx 的 A1 贴上 -> 值
然后就能看到 A1 key, B1 source, C1 target, key 是用来指定文本出现在游戏内部位
置的键值,不用理它;source 就是翻译前的文本;target 则是翻译后的文本
4-8. 再新增一个 Excel 空白文件 “N003.xlsx” 并开启,复制 N002.xlsx 的 B2 到 B
5484(项目个数 5483),到 N003.xlsx 的 A1 贴上值并保存
4-9. 这边可以直接在 N003.xlsx 做 校阅 -> 简转繁,或是参考 Lv1 教学步骤 3-3 用
Google 翻译文件
4-10. 把繁体化的 N003.xlsx 的 A1 到 A5483 复制起来,然后在 N002.xlsx 的 C2 贴
上值,可以自行确认 source 和 target 翻译前后是否有问题,常用语有没有正常替换(
譬如简体的“缺省”,繁体化之后要叫“默认”),或是懒得校对直接另存新档,存盘类
型“务必”改成 CSV UTF-8, 档名就叫 Game.csv, 取代原本的
4-11. 在 PowerShell 执行以下指令
.\UnrealLocres.exe import .\Game.locres .\Game.csv
会得到 Game.locres.new
4-12. 把 Game.locres.new 复制到 步骤 2 的 \Thunder\Content\Localization\Game\e
n\ 资料夹内,并把里面原本的 Game.locres 删除,再把 Game.locres.new 的档名改为
Game.locres
5. 打包 pak
5-1. 把文本档和字库打包成 newpak.pak, 详细步骤参考 Lv1 教学的步骤 2-3、2-4
和“四、打包”(注意这边建议用 pack-v11.cmd, 当遇到 UE 引擎版本为 11 or 11.27
时的逻辑是:较低版本 packer 打的包,较高版本的游戏也能读取;较低版本游戏的 pak
档,较高版本的 unpacker 也能解包)
5-2. 把 newpak.pak 改名为 pakchunk0-Android_ASTC_p.pak
5-3. 建立一个新资料夹结构:
\Thunder\Content\Paks
并把 pakchunk0-Android_ASTC_p.pak 移动到 Paks 里面
5-4. 在 Thunder 资料夹按右键加到压缩档,务必选择 ZIP 和“仅储存”,参考 Lv1 教
学步骤 4-3, 即可得到 Thunder.zip
5-5. 把 Thunder.zip 改名为 overflow1.105.com.PeopleCanFly.Thunder.obb 即得到繁
体中文化更新档
5-6. 把 overflow1.105.com.PeopleCanFly.Thunder.obb 复制到 Quest 的内部储存空间
/Android/obb/com.PeopleCanFly.Thunder, 再执行游戏就是繁体中文版了!
最后补充一个重要概念:
UE4 引擎和雷神之锤、毁灭战士引擎的逻辑很像,都允许在启动游戏时资料夹内 pk3 或
pk4 封包档累积叠加上去,遇到相同档名的封包内档案时后者会覆蓋前者,譬如 pakchun
k0-Android_ASTC_p.pak 里面的档案就会覆蓋原先 pakchunk0-Android_ASTC.pak 里面的
档案。
如果是 Steam 上的 UE4 引擎 PCVR 游戏,要中文化反而比较简单,因为只要把文本和字
型打包成 pak 就能用了,譬如《子弹风暴 VR》只要把 pakchunk0-WindowsNoEditor_p.p
ak 复制到游戏安装目录内 Steam\steamapps\common\Bulletstorm VR\Thunder\Content\
Paks,和 pakchunk0-WindowsNoEditor.pak 放在一起就可以了。
至于一体机版本的中文化,除了打包成 pak, 还要再打包成 obb (安卓系统的要求), 而
游戏启动时读取 obb 的顺序档名通常符合以下规律:
main -> patch -> overflow1 -> overflow2 -> … (以此类推)
举例来说,零口径 Zero Caliber 一代,由于 obb 资料夹内已经有 main.1778.com.Xrea
lGames.ZcReloaded.obb 和 patch.1778.com.XrealGames.ZcReloaded.obb 两个档案,所
以汉化补丁文件的档名就必须是 overflow1.1778.com.XrealGames.ZcReloaded.obb
再举一例,星际大战银河边缘传说的 obb 文件只有一个 main.439699.com.ilmxlab.tale
s.obb, 所以汉化补丁文件档名就是 patch.439699.com.ilmxlab.tales.obb
最后就是最近刚出的 Zero Caliber 2 零口径二代,由于容量比较大(超过 15 GB),原
版的 obb 文件就包含以下几个:
main.844.com.XrealGames.Zc15.obb
patch.844.com.XrealGames.Zc15.obb
overflow1.844.com.XrealGames.Zc15.obb
overflow2.844.com.XrealGames.Zc15.obb
overflow3.844.com.XrealGames.Zc15.obb
所以汉化补丁就是 overflow4.844.com.XrealGames.Zc15.obb
当然凡事都有例外,有些游戏会卡这种叠加式的补丁,就需要去改原本 main 或 patch
的内容(把 _p.pak 放在里面),有些会包含程式大小的验证,就需要把一些过场影片转
档压小一点,再手动新增内容只有 “…” 的文字文件在 obb 里面,让档案大小不变)
,又或是反编译 apk 去移除 / 修改档案大小的验证机制,实作起来步骤更多,暂时不考
虑。
最后,很多 VR 游戏其实都做得很好,可惜因为装机量太少而缺乏本地化,在官方正式支
援中文前,如果有支援正版的简体汉化补丁 / 繁体中文化更新档,相信能让更多人体验
到这些游戏的乐趣。毕竟很多人生活紧张忙碌,玩电子游戏只是想放松身心,对于英文能
力比较好的玩家给予“不支援中文又没差,英文其实很简单啊,查一下就好了”的建议,
其实不见得能接受。所以仿效装机量远大于 VR 一体机的家机市场,尽量支持官方 / 非
官方本地化,是我目前比较认同的方向。
图片1: B 站逗逗米玩啊大大解释档案大小验证 - 1
https://i.imgur.com/ljJ5dhN.jpeg
图片2: B 站逗逗米玩啊大大解释档案大小验证 - 2
https://i.imgur.com/9TXAKYR.jpeg
图片3: 我爸也能玩尽兴的《子弹风暴 VR》繁中版
https://i.imgur.com/HjqBq2L.jpeg
作者: YukilinnMigu (Sayurimigu)   2024-08-24 16:59:00
实用
作者: a12550550 (Camel)   2024-08-25 03:23:00
作者: dgman   2024-08-26 23:23:00
感谢大大

Links booklink

Contact Us: admin [ a t ] ucptt.com