[技術] Quest UE4 簡中安裝版遊戲繁體化教學
本篇教學屬於 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
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.195.46.1 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/VR/M.1724466781.A.6FE.html
留言