Unreal Engine製ゲームの有志翻訳情報・リンク集・忘備録

割引あり

↓Unity版

例に漏れず素人がかき集めた情報なのでご留意ください。またより良い情報がある場合は教えていただけると非常に助かります。


ゲームエンジンの確認

最初に翻訳したいゲームがUnreal Engineで作られているのか、ということを確認したい。ここでUnity製だったりするとこれ以降の説明はすべて意味をなさなくなってしまう。またこの記事では基本的にUE4以降のバージョンを想定している。

UnityやUnreal Engineの場合ゲーム起動時にロゴがでかでかと出てくるが、分からなかった場合はSteamDBを活用するとよい。App Info欄のDetected Technologiesに大抵は載っている。新しい作品の場合は空欄の場合もある。

アセットファイルの解凍・再圧縮

.pakファイルの解凍(旧)

Unreal Engine製の作品のテキストデータは(あくまで私が調べた限りだと)たいていの場合はPAKファイルという形で他のアセット(画像、テクスチャ、動画など)と同じ場所に格納されている。

テキストデータを探すためにはこのPAKファイルを解凍する必要がある。大別して2つの方法がある。

1つはQuickBMSというソフトを使用する方法。2つ目はUnrealPakというUE公式のソフトを使う方法がある。

1つ目の方法であるQuickBMSは現時点ではおそらく更新が止まっており、新しいバージョンのUEで作られたPAKファイルを開けることができない可能性が高い。一応使い方が書いてあるリンクを貼っておくが必要なソフトのリンクが切れていたりと、何かと問題点が多い。

そこで2つ目の「UnrealPak」を使用する方法の出番となる。PAKファイルの解凍とPAKファイルへの再圧縮ができる。

UnrealPAKはUnreal Engineをインストールした際に同梱されており、おそらく単体で入手する公式の方法はない。Epic Games Launcherをインストールし、そこからUEをインストールする必要がある。

インストールするUEのバージョンは基本的に最新のもので構わないと思う。ここについては諸説あるが最新のUnreakPAKが正常に動かなかった場合は

翻訳したいゲームの.exeファイルの「プロパティ」→「詳細」からUEのバージョンを確認して、同じバージョンのUEをインストールするのが良い。

2024/03/30 情報更新、詳しくは次項「アセットファイルの解凍」を参照

アセットファイルの解凍・再圧縮

テキストデータを含むアセットファイルの解凍方法が(おそらく)確立したので新たに書きます。項目名を「アセットファイル」にしたのは新しめのUEで作られた作品はアセットが.pakファイルのほかに、.ucasまたは.utocという形式で保存されているからです。後者の形式はまだ新しいため解凍はできても、正常に再圧縮できるツールが少なく、今後に期待という感じです。

また解凍と再圧縮を同じ項目に入れているのは、解凍した後にテキストを編集して再圧縮しても、その再圧縮が正常にできていない場合は翻訳作業が無駄になるからです。基本的には以下の流れで翻訳を進めるのが良いと思われます。

1.アセットファイルの解凍&(無編集での)再圧縮でゲームを起動
2.テキストファイルの英語での編集(文字数を変えない編集→文字数を変える編集という順番)&再圧縮でゲームを起動
3.日本語対応フォントの導入&翻訳編集&再圧縮でゲームを起動

この記事では現時点(03/30)では2まで説明しています。

必要なUnrealEngineのインストール

以前の説明では最新のUEについてくるUnrealPak.exeを使えばいいと書いていましたが、これは間違いでした。新しいバージョンのUnrealPakでは.pakファイルの解凍はできても、再圧縮ができなかったからです(そして恐らく解凍も上手くいっていない。)

現在存在するUE製のゲームの.pakを正常に解凍・再圧縮するためには少なくとも3種類のUnrealPak.exe(つまり3種類のUE)をインストールする必要がある。

  1.  最新のUE(現在は5.3.2)。UE5製の作品なら基本的に最新のバージョンでカバーできると思う。

  2. UE 4.27.2(UE4の最新バージョン)。このバージョンはUE4.27.2からUE4.20.3をカバーしていると思われる。

  3. UE 4.19.2。これより古いバージョンをカバーしている。

以上の3種類があれば.pakファイルを正常に解凍・再圧縮できる(はず)。

Unreal Engineのバージョン確認方法

また翻訳したいゲームのUEのバージョンを知る方法としては上記の.exeのプロパティを見るというものを紹介したが、その方法ではわからない場合があるので別の方法を書いておく。

画像だとUE4.18

1.「FavBinGrep」で調べたいゲームのフォルダ全体を「文字列」で「+UE4」又は「+UE5」で検索

2.ヒットしたファイルの中身を見るとバージョンが(たいていの場合)書いてある

こんな感じ

UnrealPak.exeの使い方

「UnrealPAK.exe」は「D:\Program Files\Epic Games\UE_5.1\Engine\Binaries\Win64」などに置いてある。

UnrealPAKの使用方法については以下の動画(1:40~)が詳しいが、難しいので下で詳しく説明する。

.pak解凍方法

  1. コマンドプロンプトを開いて「UnrealPak.exe」をドラッグアンドドロップ

  2. 半角スペースを一回入力して、解凍したいPAKファイルをドラッグアンドドロップ

  3. 半角スペースを一回入力して、「-Extract」を入力、続けて半角スペースを一回入力

  4. 解凍した中身を入れるフォルダを作って、そのフォルダをドラッグアンドドロップ

  5. Enterで解凍が完了する

解凍実行コード具体例

C:\Users\norma>D:\UE_4.19\Engine\Binaries\Win64\UnrealPak.exe "D:\Steam\steamapps\common\Perfect Vermin\PerfectVermin_v1_8_windows\PerfectVermin\Content\Paks\PerfectVermin-WindowsNoEditor.pak" -Extract D:\5Test\Perfect

.pak再圧縮方法

  1. コマンドプロンプトを開いて「UnrealPak.exe」をドラッグアンドドロップ

  2. 再圧縮する.pakファイルを生成する場所に「dataToPack.txt」を新規作成

    1. 以下の文字列を「dataToPack.txt」にコピペして環境に合うように変換する。

"D:\5Test\Perfect\Engine\*" "../../../Engine/"
"D:\5Test\Perfect\PerfectVermin\*" "../../../PerfectVermin/"

上の文字列の説明をすると、

"解凍した.pakの中身のフォルダその1の場所*" "../../../その1の場所の末尾/"
"解凍した.pakの中身のフォルダその2の場所*" "../../../その2の場所の末尾/"


という構造になっている。仮に.pakを解凍して3つフォルダが出てきたら3行分書く必要がある。「このフォルダの中身を再圧縮しますよ」という事を指示するためのテキストデータです。

3 . 半角スペースを一回入力。作成した「dataToPack.txt」をドラッグアンドドロップ。これは場所を取るためのものなので、末尾のdataToPack.txtを消して、出力したい.pakの名前を書く。

例えば、「PerfectVermin-WindowsNoEditor.pak」など。この.pakファイルは後でゲームファイルに上書きするので、ゲームファイル上のファイル名と同じ名前が良い。

4 . 半角スペースを一回入力。先ほど作った「dataToPack.txt」をドラッグアンドドロップ。

5 . Enterで再圧縮が完了する

再圧縮実行コード具体例

C:\Users\norma>D:\UE_4.19\Engine\Binaries\Win64\UnrealPak.exe D:\5Test\PerfectVermin-WindowsNoEditor.pak -Create=D:\5Test\dataToPack.txt

.pak解凍・再圧縮方法(その2)

自分の環境ではUE 5.3で作られた作品の.pakが正常に解凍&再圧縮されなかった。そういった場合は以下のソフトを使う。使い方はUnrealPakと殆ど変わらない。.exeファイルをコマンドプロンプトにドラッグアンドドロップして「 help」を入力してEnterを押すと使い方が分かる。

.ucas .utocファイルの解凍・再圧縮

この項目は不完全です。新しいUEのバージョンだと.ucas .utocの形式にアセットファイルが入っています。今後有力になりそうなソフトを紹介しておきます。

↑自分の環境ではサイズが大きすぎるせいか.ucasファイルが認識されなかった

↑.ucasと.utocファイルの抽出機能のみ。今後リパック機能が追加されることに期待

↑アプリケーションに組み込んで使うものらしい。使い方確立した方いれば教えてください。

テキストデータの特定

ここまできってやっとテキストファイルを特定できるようになった。UE製のゲームにおけるテキストデータは(私が見た限り)2種類の形式で保存されている。

1.「.locres」ファイル
2.その他、バイナリで検索可能なファイル形式(binとか)

バイナリで検索可能なファイル形式の場合

2の場合テキストデータを特定する方法はUnity製の場合と変わらない。Unityの記事の方で書いた方法をコピペしておく。

ゲーム内のテキストを16進数に変換*して、FavBinEditについてくる「FavBinGrep」を使ってフォルダー全体を検索することでテキストデータのあるファイル名を特定することができる。

*「We should keep moving.」なら「57652073686F756C64206B656570206D6F76696E672E」。変換サイトなどを使って変換できる。また検索の方法を「文字列」にすればテキストのまま検索できる。

.locresファイルの場合

上記の方法でテキストファイルが見つからない場合、.locresファイルにテキストデータが存在する可能性が高い。.locresファイルを編集するには「unreal_locres_export.exe」というソフトを使用する方法が主流のようだが、現在リンクは切れているのに加えて、UE5の作品で試してみたところ正常に動かなかったので別の方法を紹介する。(また上記に加えて「UE4-Locres-Unpacker」というソフトも試してみましたがダメだった)

唯一正常に動いたのは「UE4LocalizationsTool」。最終更新が2024年1月で、これ以上の更新はしない旨が説明されている。

このツールを起動して翻訳したい.locresファイルをドラッグアンドドロップすれば、テキストが表示され検索ツール(ツール内での表示はFind)で目当てのテキストデータの有無が確認できる。

テキストデータの編集

この部分はUnity製ゲームと同じなのでコピペです。

テキストデータを特定できたら次はその編集です。ここでは以下の2つのステップを経ることで外国語のテキストを日本語でゲーム内に表示できることを確認することができます。

1.テキストデータの書き換え
2.テキストデータの日本語での書き換え

テキストデータの書き換え

場所とファイルを特定したテキストデータをオリジナルと同じ言語(英語なら英語)で書き換えます。特定したデータの拡張子にもよりますが、たいていの場合メモ帳などでは編集できないため、バイナリエディタを用いて編集します。(私はFavBinEditなどを使っています)

バイナリエディタの検索機能を使って変更したい文字列を探します。ここではゲームに変更が反映されたことを確認しやすくするため、ゲームを起動してすぐに確認できる文章を選びましょう。

変更する文章を見つけたらエディタの置換機能を使って文章を変更しましょう。例えば「Return to the elevator」(16進数変換したもの「52 65 74 75 72 6e 20 74 6f 20 74 68 65 20 65 6c 65 76 61 74 6f 72」)を「Erturn to the elevator」(45 72 74 75 72 6e 20 74 6f 20 74 68 65 20 65 6c 65 76 61 74 6f 72)に変更し、ゲーム内で反映されているかを確認します。

変更できてる

フォントの変更・日本語の表示

UE製ゲームのフォント変更と日本語の表示は、アセットの扱いやテキストデータの特定と違って共通するワークフローが存在しない印象です。実際私が扱った作品は技術的な壁に当たってフォントの変更どまりで、日本語の表示までたどり着けませんでした。

ここで説明するのはあくまで一例という事に留めて見ていただけると助かります。そして成功した人は積極的にネットに情報を残してください。新しいバージョンのUE作品については本当に情報がありません。

フォントアセットの作成・適用

ゲームに用意されているフォントが日本語の表示に対応していない場合は自分でフォントを用意する必要があります。UE4以降のフォントアセットは、.ufontという特殊な形式で納められています。この形式でフォントアセットを作るためにはUEを使う必要があります*。

*拡張子「.ufont」を「.ttf」や「.otf」に変えると普通にフォントが見れる場合があります。逆に「.ttf」や「.otf」を「.ufont」にするだけで適用できた、というUEでの操作が必要ない場合もあるそうです。お試しあれ。

基本的には上の方法でフォントアセットを作成し、上書きするだけです。自分の場合上書きだけではクラッシュしてしまったので、バイナリエディタで元のフォントの名前を上書きするフォントの名前に書き換えることでフォントを変更することができました。

またそれでもフォントが変わらない場合(あるいはデフォルトっぽいフォントに変わる場合)は、フォルダー内のフォント関係のファイルをすべて上書きするという力技もあります。

日本語表示対応のフォントに無事変更出来たら、テキストデータを日本語に変え表示されるかを試します。無事表示出来たら日本語化の環境は整いました。お疲れ様です。

最後に

これで日本語化の環境づくりは終了です。上手くいかなかった場合はいろいろ試してみましょう。個人的にはバイナリを一括検索できる「FavbinGrep」というツールにはずっとお世話になっていました。

それでもダメな場合は「日本語化作業者互助会」に参加して質問してみるのもいいと思います。自分の場合はここに質問しまくって、ありがたいアドバイスをたくさんいただきました。ただし質問するときは自分の環境や、試したことなど細かく書くようにしましょう。自分にDMを送るのもありです。答えられる範囲でお答えします。

以上です。情報が集まり次第更新します。

ここから先は

0字

この記事が気に入ったらサポートをしてみませんか?