VR 板


LINE

看板 VR  RSS
[教学] Quest 一体机 UE4 简中游戏繁体化 这几个月尝试学习 UE4 引擎制作的 Meta Quest 一体机游戏繁体中文化,并将学习成果 撰写成教学文,本来预计根据困难程度由浅至深整理三篇: (已发表)Lv1. 已经有简体汉化补丁,转换成繁体中文化更新档 https://forum.gamer.com.tw/C.php?bsn=60606&snA=4213 (已发表)Lv2. 已经有简体汉化破解安装版,提取文本简转繁制作繁体中文化更新档 https://forum.gamer.com.tw/C.php?bsn=60606&snA=4237 (未发表)Lv3. 只有原版无中文,提取文本翻译完制作繁体中文化更新档 不过最近熊熊想到,介於 Lv2 和 Lv3 之间应该还有一个难度,姑且称之为 Lv2.5, 也就 是: 「Lv2.5 正版即支援简体中文,提取文本翻译完制作繁体中文化更新档」 理由是:因为非官方的简体中文版,拆包 obb 文件後,里面通常已经存在 “游戏名_p.p ak” 的文本 + 字型档,只需要针对文本简转繁并以繁体字型替换就可以了。而官方如果 已经支援简体中文,就需要在解包 “游戏名.pak” 的过程中找到实际的文本和字型档进 行简转繁,再逐步打包成 “游戏名_p.pak” 和 更新档 / 补丁 形式的 obb 文件,试误 的机率和步骤会稍微多一点点。 本篇教学文就针对 Lv2.5 的步骤做说明。(一样强烈建议先阅读过 Lv1 & Lv2 再阅读 Lv 2.5, 因为先前描述过的详细步骤会以较简单的方式带过) 》前置作业 1. 安装 Java Runtime Environment (JRE, Java 运作环境) https://www.java.com/zh-TW/download/manual.jsp (建议 32/64 位元版本都安装比较保险) 2. 安装 .NET 8.0 或更新版本 (因为 FModel 需要 C# 运作环境) https://dotnet.microsoft.com/zh-tw/download/dotnet/8.0/runtime 3. 下载 FModel 拆包工具 (优点是可以先浏览 pak 的内容,再针对需要的部分解包) https://github.com/4sval/FModel/wiki/Installing-FModel 4. 下载加密游戏获取 AES key 的工具 (有些 pak 被加密过,需要金钥才能正常解包) https://myppt.cc/jwMS2D 5. 下载安卓手机程式「超级备份」的 apk 并透过 SideQuest 侧载於 Quest 内 https://apkpure.com/tw/super-backup-restore/com.idea.backup.smscontacts/amp (如果 pak 被加密,解密前需要先从 apk 安装档内提取 libUE4.so 档案) 6. 已安装解压缩软体如 WinRAR 》操作步骤(在此以《Fracked 压裂》为例,这款游戏刚好是正版即支援简体中文字幕) 一、解包 obb 档和 pak 档 1-1. 安装完正版游戏後,透过 SideQuest 把 Quest 内部储存空间/Android/obb/com.nD reams.FrackedAppsLab 资料夹内的 main.com.nDreams.FrackedAppsLab.obb 复制到电脑 中 1-2. 透过 WinRAR 开启 main.com.nDreams.FrackedAppsLab.obb 并解压缩,得到 \Blac k\Content\Paks\Black-Android_ASTC.pak 1-3. 这边若采用 Lv1. 教学的 2-2 解包 pak 可以成功,就能直接跳到「二、文本简转 繁和字型档替换」,但这款游戏刚好是有加密的 pak, 需要搭配 AES key 解密工具才能 解包 pak 1-4. 解压缩前置作业 4. 的解密工具,里面有两个程式:AES_finder_0.9f (PC / PCVR 游戏用) 和 AES_finder_mobile_0.9e (一体机 / 安卓 游戏用) 使用方法很简单: PC / PCVR 游戏直接把程式放到含有 xxxx-Shipping.exe 的资料夹(通常是 游戏名\工 作室\Binaries\Win64\工作室-Win64-Shipping.exe),双击 AES_finder_0.9f.exe,几 十秒就能取得。(同资料夹会出现 key.txt) 不过这次要处理的是一体机游戏,因此必须先在 Quest 的不明来源执行超级备份,并使 用「备份应用程式」的功能备份《Fracked》,得到 apk 安装档并复制到电脑,然後用 W inRAR 开启 apk, 提取 lib 资料夹中的 libUE4.so,然後将 libUE4.so、Black-Android _ASTC.pak 和 AES_finder_mobile.exe 放到同一个资料夹,双击exe,说明上写着根据你 CPU 的性能,大概10 - 40 分钟可以获得 key.txt (我是五年前的笔电,大约 72 分钟 得到金钥)。 打开 key.txt 後,里面的金钥是 hex 格式不能直接使用,要先透过以下网站把 hex 转 换成 base64: https://base64.guru/converter/encode/hex 我在得到金钥後尝试用 UnrealPakSwitchv10 解包仍然失败(注 1),因此以下的步骤使 用评价更好的 FModel 解包工具 1-5. 执行 FModel.exe, 第一次执行时会跳出小蓝视窗,选「其他资讯」、「继续执行」 ,然後在 Directory Selector 视窗内的 Directory 选择 Black-Android_ASTC.pak 所 在的资料夹,然後按 OK, 可能会出现重新启动 FModel 的视窗,按确认即可。这时左侧 的 Game Archive 就会出现 Black-Android_ASTC.pak, 但状态是红灯,表示缺少 AES ke y 无法看内容。点选左上角 Directory -> AES, 然後复制步骤 1-4 得到的 key (0x 开 头的 Base64 格式编码), Ctrl + v 贴上,确认,就能看到状态变绿灯,可正常读取。 1-6. 双击亮绿灯的 Black-Android_ASTC.pak, 可以看到 Black 和 Engine 两个资料夹 ,选择 /Black/Content/Localization/Game/zh 然後按右键 Export (目的是得到 Game. locres 文本档), 再选择 Engine 然後按右键 Export (需要 Engine 资料夹才能成功打 包), Export 汇出来的档案都在 FModel.exe 程式同资料夹的 \Output\Exports 里面 https://youtu.be/LN1oUX9Ql-4
二、文本简转繁和字型档替换 2-1. 从步骤 1-3 或 1-6 得到的 /Black/Content/Localization/Game/zh/Game.locres, 可透过 Lv2 教学的 2. 文本简转繁得到新的 Game.locres, 不过在汇出 csv 文本文字 时要注意资料笔数和 Powershell 视窗中显示的 Strings 数量是否一致,譬如这款游戏 是 1255 strings, 但用 Excel 检视内容时,会发现多了 20 几列,实际检查会发现原来 有好几个文本自动跳行,导致上一列的 Source 栏出现在下一列的 Key 栏,而下一列的 Source 和 Target 都是空的。解决方法很简单,只要把下一列的 Key 值剪下并贴在上一 列 Source 栏的最後面即可,然後再将已经完全空白的下一列删除,最後就能得到刚好为 1255 的资料笔数 2-2. 这款游戏的 Black 资料夹内没有 ufont 字型档,而是在 /Engine/Content/Engine Fonts/Faces/ 资料夹内,有六个: DroidSansFallback.ufont RobotoBold.ufont RobotoBoldItalic.ufont RobotoItalic.ufont RobotoLight.ufont RobotoRegular.ufont 全部用繁体字 ttf 去取代(详 Lv1 教学 3-7 步骤) (全部取代的理由见注 2) 三、打包 pak 档和 obb 档 3-1. 把 FModel.exe 程式同资料夹的 \Output\Exports 里面的 Black 和 Engine 两个 资料夹移动到 UnrealPakSwitchv10 资料夹内(虽然现在不用它解包,但打包还是需要) 3-2. 在 UnrealPakSwitchv10 资料夹内建立一个文字档 lista.txt, 内容是: "../../../Black/Content/Localization/Game/zh/Game.locres" "../../../Engine/Content/EngineFonts/Faces/DroidSansFallback.ufont" "../../../Engine/Content/EngineFonts/Faces/RobotoBold.ufont" "../../../Engine/Content/EngineFonts/Faces/RobotoBoldItalic.ufont" "../../../Engine/Content/EngineFonts/Faces/RobotoItalic.ufont" "../../../Engine/Content/EngineFonts/Faces/RobotoLight.ufont" "../../../Engine/Content/EngineFonts/Faces/RobotoRegular.ufont" 3-3. 用 Lv1 2-2 的方法得知引擎版本是 11 or 11.27, 因此用 pack-v11.cmd 打包(原 因详见 Lv2 教学步骤 5-1) 3-4. 把 newpak.pak 改名为 Black-Android_ASTC_p.pak 3-5. 建立一个新资料夹结构: \Black\Content\Paks\ 并把 Black-Android_ASTC_p.pak 移动到 Paks 里面 3-6. 在 Black 资料夹按右键加到压缩档,务必选择 ZIP 和「仅储存」,参考 Lv1 教学 步骤 4-3, 即可得到 Black.zip 3-7. 把 Black.zip 改名为 patch.com.nDreams.FrackedAppsLab.obb 即得到繁体中文化 更新档(命名规则参考 Lv2 教学的最後补充) 3-8. 把 patch.com.nDreams.FrackedAppsLab.obb 复制到 Quest 的内部储存空间/Andro id/obb/com.nDreams.FrackedAppsLab, 再执行游戏就是繁体中文版了!(复制前先执行 过一次游戏,至少进到标题选单再退出,否则可能会卡在一开始的 logo 画面) https://youtu.be/ZRsWdzYo-nw
参考资料: B 站 逗逗米玩啊 大大的教学影片 https://www.bilibili.com/video/BV1PF411p7G4/ AES tools 来源与讨论 https://cs.rin.ru/forum/viewtopic.php?f=10&t=100672&hilit=aes https://www.deviantart.com/artinkers/art/ue4-Updated-Aes-Keys-840377092 (内含一些 UE4/UE5 的金钥,如果你想解包的加密游戏有出现在里面就能直接用,毋需 再花时间解密) 注 1:步骤 1-4 输入金钥後仍然解包失败,经逗逗米玩啊大大指点改用 FModel 的对话 Q: 大佬您好,我近期遇到一个有加密的 pak 文件,使用您提供的 加密游戏获取AES key 的工具 之後得到 key.txt, 然後透过以下网址转换成 Base64: https://base64.guru/converter/encode/hex 并编辑 crypto.json (把 DUMMY 换成 key 值) 版本是 11 or 11.27, 尝试解包後,发现 key 应该是对了,但有非常多档案只有 0 kb, 譬如 Engine\Content\EngineFonts\Faces 里面的 ufont 全是 0kb, 游戏名\Content\Localization\Game\语言\ 里面的 Game.locres 也全是 0 kb 查看 lista.txt, 应该是有占空间的,譬如: LogPakFile: Display: "Black/Content/Localization/Game/zh/Game.locres" offset: 3009865709, size: 43807 bytes, sha1: 791B0D603729CC3E86A0DEF37E540B4EFC7C26F7, compression: Oodle. 有看到解包过程出现 error: LogCompression: Error: FCompression::GetCompressionFormat - Unable to find a m odule or plugin for compression format Oodle 请问大佬有遇过这问题吗?谢谢 A: 用fmodel直接导出。脚本有时候会比较麻烦。导出速度也不慢。如果是安卓移动端的 ,直接反编译Apk 查看xml,一般就能确定引擎版本。pc端直接右击游戏启动程序一般就 能查看到游戏版本。 注 2:采用最懒的方法,把 ufont 全部替换为繁体字型最不会出错 Q: 大大您好,想请教一个问题:很多汉化补丁pak都是包含两个档案 1. game.locres 2. ufont 不过在 Content\UI\Fonts\ 文件夹里面有很多个 ufont 档 请问我们在汉化的时候,要如何判定需要替换哪一个呢?谢谢 A: 一种最懒的全部替换,一种是用引擎自己制作根据需要调用字体,不用理会原来游戏 的UFONT字体,自己新增就好。 --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 123.195.46.1 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/VR/M.1725664953.A.464.html ※ 编辑: hsz0566 (42.73.206.240 台湾), 09/07/2024 08:57:23







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:BabyMother站内搜寻

TOP