How to use ”UABEAvalonia” (Basic)
Unity製ゲームの多くはUnity2019以下で作成されているものも多いですが、Unity2020で作られているものも少しずつではありますが増えてきました。解析に必要なUnityEX(無料版)ではこのUnity2020製ファイルを読み込めず有料版が必要となってしまいましたが、そのUnity2020製ファイルを読み込めるツールもまだ開発途中ですが登場しました。
それが今回紹介するUABEAvaloniaというツールです。これは以前からあった旧UABE(Unity Assets Bundle Extractor)を2020以上にも対応させたものです。現在、UABE自体もオープンソース化され、2020以上に対応できるようになってきているようです。
assetsファイルの読み込み
UABEAvaloniaを起動すると上図のような画面が表示されます。残念なことにファイルのドラッグ&ドロップ(D&D)には対応していないので、メニューを使って開くことになることになります。
File → Open と選択すると上図のようなファイルオープンダイアログが表示されます。目的のファイルがある場所まで左ペインから辿るのもいいのですが、先に目的のファイルがある場所のウィンドウを開いておき、アドレスバーをクリック、選択されたパス(Path)をコピーして、オープンファイルダイアログのアドレスバーにペーストするほうが早いでしょう。
※Steam版であればクライアントからゲームを選択し、プロパティを開き、ローカルファイルタブ内の「参照…」をクリックするといいでしょう。
なお、data.unity3d(これはassetsがまとめられたものなので開きたいassetを選択する必要があります)や圧縮されたものであれば、Infoボタンをクリックする必要があります。
assetsを開くと上図のような画面が開きます。これらはassets内にまとめられているファイルです。馴染みがあるものでいえば、ZIPファイルや7zなどの圧縮ファイルを開いたようなものだと思ってください。
この画面で重要なのは解析をする方は右ペインのView DataやExport/Importなどを使うようになると思いますが、有志が配布しているUABEAvalonia用の日本語化ファイルを使う場合はImport Rawだけを覚えておけばいいでしょう。
ファイルのエクスポート
エクスポートはいたって簡単で表示されているasset一覧から取り出したいものを選択し、右に表示されている「Export Raw」もしくは「Export Dump」をクリックするだけです。複数選択して一気にエクスポートすることも可能です。
Raw形式はバイナリ型(拡張子が.dat)、Dumpはテキスト型(拡張子が.txt)としてエクスポートされます。どちらで書き出すのがいいのか?というのは、後でどのように処理するかによりますので一概には言えません。ただし、日本語化用ファイルとして配布されるのはRaw形式がほとんどだと思います。
ファイルのインポート
日本語化する方が主に利用するであろう機能がこのインポートです。UnityEXと比べてはいけませんが、インポートは少々面倒です。
例えば上図のI2Language(MonoBehaviour)を取り込みたい場合、そのファイルそのものを選択します。そして、Import Raw(拡張子が.datの場合)またはImport Dump(拡張子が.txtの場合)をクリックします。
選択するためのファイルオープンダイアログが表示されますのでインポートしたいファイルを間違えないように選択してください。
ファイルが更新されると上図では隠れていますが、左ペインのSizeの右横にある「Modified」に *(アスタリスク)が表示されます。複数ある場合は同じ作業を何度も繰り返すことになります。
assetsファイルの保存
これはウィンドウ右上の「×」ボタンをクリックして表示されるダイアログで「Yes」をクリックすればOKです。
ダイアログの内容は上記のような感じです。
もしくはメニューの File → Save を選択します。
これでassetsを保存するためのセーブファイルダイアログが開きます。ただ、開いたファイルに直接上書きするのではなく別ファイルとして保存します(例えば、resources.assetsであればresources.assets.newとして保存するか、元ファイルとは別の場所に保存します)。
.newを付けて保存した場合、元のファイルを削除するかリネームして新しいファイルの「.new」を削除します。別の場所に保存した場合も元ファイルはリネームしておいて元の場所にファイルを移動させます。
data.unity3dや圧縮されたものの場合は少し違い、セーブファイルダイアログが開かず、最初の起動画面に戻ります。その画面でさらに「File → Save」を選択してください。これでセーブファイルダイアログが表示されるますので上記と同じように別名か別の場所に保存してください。
最後に
今回は一番基本的な使い方を紹介しました。
注意してほしいのはTypeによりUnityEXとはデータの形式が違う場合があるということです。UnityEXで書き出されたものはUABEAvaloniaで使えない場合があることに注意してください。
日本語化に挑戦される方はこれだけではできませんが、日本語化ファイルを利用される方はインポート部分は役立つかと思います。