[技術] Quest UE4 簡中安裝版遊戲繁體化教學

看板VR (虛擬實境)作者 (HSZ)時間3周前 (2024/08/24 10:33), 編輯推噓3(300)
留言3則, 3人參與, 3周前最新討論串1/1
本篇教學屬於 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

08/24 16:59, 3周前 , 1F
實用
08/24 16:59, 1F

08/25 03:23, 3周前 , 2F
08/25 03:23, 2F

08/26 23:23, 3周前 , 3F
感謝大大
08/26 23:23, 3F
文章代碼(AID): #1coKPTR- (VR)
文章代碼(AID): #1coKPTR- (VR)