PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法

2022年05月13日
0

PC ゲーム リメイク版 Shadowgate(2014) で日本語を表示する手順を確立することができましたので、そのやり方を公開します。

本記事では Unity ゲームエンジンの nGUI および各種解析ツールやソフトウェアを使い日本語フォントを作成・改造を行い、それを Unity ゲームへ実装して日本語フォントを表示する方法が含まれています。

(2022年5月時点)私が調べた限りでは nGUI 絡みでの Unity ゲーム日本語化 Mod 作成・解説記事は見つけていません。

今回の発見により今まで Unity ゲームの nGUI ビットマップフォントが原因で日本語化ができなかったゲームが、本記事の内容を活用することで日本語化を実現できる可能性が高くなるでしょう。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法

PC ゲーム リメイク版 Shadowgate(2014)基本情報

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)基本情報、Kickstarter APPRENTICE $60 Tier - Humble Account DRM-Free Version

リメイク版 Shadowgate(2014) は 2012年に行われたクラウドファンディング Kickstarter で目標金額を達成したことにより、ゲーム完成後各プラットフォームで配信された経緯があります。ちなみに、AUTOMATON の FC 版『シャドウゲイト』にみる、あるべきローカライズの姿 の記事では過去作の伝説的な日本語ローカライズ内容を確認できます。

上の画像は Kickstarter での投資特典として、Humble Bundle のアカウント で様々なデジタルコンテンツを PC 版 DRM-Free バージョンとして受け取った内容です。

PC 版については日本語ローカライズに関する情報はなく、いずれ誰かが有志日本語化をやってくれるだろうと待ち続けていましたが、本記事を公開するまで本作の日本語化プロジェクトや国内有志の方は確認していません。海外では唯一 Zone of Games Forum でロシア語化スレ を見つけましたが、ちょくちょく進捗はあったものの 2022年5月時点では完成には至っていないようです。

幸いゲームエンジンは Unity だったので、いままでの日本語化に関する経験や情報、充実した解析ツールを駆使すれば日本語化を実現できるのではないかと思い解析したところ、これが想像以上に大変な内容でした。

このゲームで日本語を表示する方法は一つ一つの内容を細かく見ると(複合化・暗号化部分を除く、Unity ゲーム日本語化解析経験者か Unity ゲーム日本語化 Mod 作成経験者から見れば)それほど難しい内容ではありません。ただ、そこまでたどり着くのに時間と手間をかけて様々な試行錯誤を行い多くの手順を踏み、何度も問題に遭遇しながらもすべて解決できた結果、なんとか日本語を表示することに成功しています。

今回の解析で各種ツールを駆使し、(確認できた範囲ではおそらく)今までにないやり方で奇跡的に日本語フォントの実装とテキストデータを書き換えることができました。この記事では成果物の一部のファイルを配布するとともにそのやり方をすべて公開します。あとは誰かが翻訳すれば、日本語化した Shadowgate(2014) をプレイできるようになるでしょう。

PC ゲーム リメイク版 Shadowgate(2014)日本語表示テスト環境

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語表示テスト環境、Steam 版 Shadowgate(2014)日本語フォント表示可能
PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語表示テスト環境、Steam 版 Shadowgate(2014)日本語フォント表示可能、Steam ライブラリ DLC Special Edition
PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語表示テスト環境、GOG 版 Shadowgate(2014)日本語フォント表示可能

今回、日本語フォントの導入と日本語表示テストするためにインストールした Steam 版 および GOG 版 Shadowgate(2014)です。どちらの配信プラットフォームでも このあと紹介する日本語フォントファイルを導入 することで、日本語が表示できるようになることを確認しています。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語表示テスト環境、Steam ライブラリで Shadowgate(2014)プロパティ画面を開き、ローカルファイルで 「参照...」 をクリックしてインストールフォルダを開く

Steam 版 Shadowgate(2014) でインストール先フォルダを開きたい場合、Steam ライブラリからプロパティ画面を開き、ローカルファイルにある 「参照...」 ボタンをクリックすることでインストール先フォルダにすぐにアクセスできます。

または、Steam ライブラリでタイトルを右クリック → 管理 → ローカルファイルを閲覧、をクリックすることでインストール先フォルダを開くこともできます。

Shadowgate(2014)用日本語フォントサンプルファイル公開&インストール方法

こちらで作成した PC ゲーム リメイク版 Shadowgate(2014) - UnityEX インポート用ビットマップ日本語フォント BIZ UDPMincho(PC-Shadowgate2014-Unity4-nGUI-JPFont-BIZUDPMincho-Regular-UnityEX-Import-assets-20220412.7z) を公開します。フォントは Morisawa BIZ UDMincho を使って作成しました。

Steam 版 および GOG 版 Shadowgate(2014)で日本語フォントが表示されるのを確認しています。

翻訳ファイルは含めていません。編集可能な言語データはこちらで確認できた範囲では 2種類あります。翻訳方法は こちらこちら で説明します。

フォントを作成したい方にはフォント解析情報を こちら で、フォントの作成方法は こちら で説明します。

Shadowgate(2014)ゲームインストール先 Shadowgate_Data フォルダにある sharedassets0.assetssharedassets1.assetssharedassets2.assets ファイルに日本語フォントファイルを取り込むことで日本語表示を実現しています。あとで元のデータに戻したい場合は事前に 3つの assets ファイルをバックアップしておくか、ゲームの整合性チェック機能(Steam 版GOG Galaxy 版)を使うことで元に戻せます。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語表示テスト環境、Shadowgate(2014)用日本語フォントサンプルファイル公開&インストール方法、PC ゲーム リメイク版 Shadowgate(2014) - UnityEX インポート用ビットマップ日本語フォント BIZ UDPMincho(PC-Shadowgate2014-Unity4-nGUI-JPFont-BIZUDPMincho-Regular-UnityEX-Import-assets-20220412.7z)ファイルをダウンロードして展開・解凍、Unity_Assets_Files フォルダを Shadowgate_Data フォルダに配置

PC ゲーム リメイク版 Shadowgate(2014) - UnityEX インポート用ビットマップ日本語フォント BIZ UDPMincho(PC-Shadowgate2014-Unity4-nGUI-JPFont-BIZUDPMincho-Regular-UnityEX-Import-assets-20220412.7z) をダウンロードして展開・解凍します。

Unity_Assets_Files フォルダがあるので、ゲームインストール先 Shadowgate_Data フォルダに配置します。

以下、日本語フォントのインストール方法です。2種類のインストール方法があるのでいずれかの方法を実行します。1番目の方法はマウス操作で完結しますが、いくつか手順を踏む必要があります。2番目の方法はバッチファイル(.bat)作成・実行するので、一気にインストールできます。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語表示テスト環境、Shadowgate(2014)用日本語フォントサンプルファイル公開&インストール方法、PC ゲーム リメイク版 Shadowgate(2014) - UnityEX インポート用ビットマップ日本語フォント BIZ UDPMincho(PC-Shadowgate2014-Unity4-nGUI-JPFont-BIZUDPMincho-Regular-UnityEX-Import-assets-20220412.7z)ファイルをダウンロードして展開・解凍、Unity_Assets_Files フォルダを Shadowgate_Data フォルダに配置、Unity_Assets_Files フォルダインポート方法 1、Shadowgate_Data フォルダにある sharedassets0.assets ファイルを UnityEX で開く

Shadowgate(2014)用日本語フォントインストール方法その 1。

Shadowgate_Data フォルダにある sharedassets0.assets ファイルを UnityEX で開きます。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語表示テスト環境、Shadowgate(2014)用日本語フォントサンプルファイル公開&インストール方法、PC ゲーム リメイク版 Shadowgate(2014) - UnityEX インポート用ビットマップ日本語フォント BIZ UDPMincho(PC-Shadowgate2014-Unity4-nGUI-JPFont-BIZUDPMincho-Regular-UnityEX-Import-assets-20220412.7z)ファイルをダウンロードして展開・解凍、Unity_Assets_Files フォルダを Shadowgate_Data フォルダに配置、Unity_Assets_Files フォルダインポート方法 1、Shadowgate_Data フォルダにある sharedassets0.assets ファイルを UnityEX で開き、Import files ボタンをクリックしてインポート

UnityEX で sharedassets0.assets ファイルを開いたら Import files ボタンをクリックしてインポートします。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語表示テスト環境、Shadowgate(2014)用日本語フォントサンプルファイル公開&インストール方法、PC ゲーム リメイク版 Shadowgate(2014) - UnityEX インポート用ビットマップ日本語フォント BIZ UDPMincho(PC-Shadowgate2014-Unity4-nGUI-JPFont-BIZUDPMincho-Regular-UnityEX-Import-assets-20220412.7z)ファイルをダウンロードして展開・解凍、Unity_Assets_Files フォルダを Shadowgate_Data フォルダに配置、Unity_Assets_Files フォルダインポート方法 1、Shadowgate_Data フォルダにある sharedassets1.assets ファイルを UnityEX で開く

続けて同じように Shadowgate_Data フォルダにある sharedassets1.assets ファイルを UnityEX で開きます。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語表示テスト環境、Shadowgate(2014)用日本語フォントサンプルファイル公開&インストール方法、PC ゲーム リメイク版 Shadowgate(2014) - UnityEX インポート用ビットマップ日本語フォント BIZ UDPMincho(PC-Shadowgate2014-Unity4-nGUI-JPFont-BIZUDPMincho-Regular-UnityEX-Import-assets-20220412.7z)ファイルをダウンロードして展開・解凍、Unity_Assets_Files フォルダを Shadowgate_Data フォルダに配置、Unity_Assets_Files フォルダインポート方法 1、Shadowgate_Data フォルダにある sharedassets1.assets ファイルを UnityEX で開き、Import files ボタンをクリックしてインポート

UnityEX で sharedassets1.assets ファイルを開いたら Import files ボタンをクリックしてインポートします。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語表示テスト環境、Shadowgate(2014)用日本語フォントサンプルファイル公開&インストール方法、PC ゲーム リメイク版 Shadowgate(2014) - UnityEX インポート用ビットマップ日本語フォント BIZ UDPMincho(PC-Shadowgate2014-Unity4-nGUI-JPFont-BIZUDPMincho-Regular-UnityEX-Import-assets-20220412.7z)ファイルをダウンロードして展開・解凍、Unity_Assets_Files フォルダを Shadowgate_Data フォルダに配置、Unity_Assets_Files フォルダインポート方法 1、Shadowgate_Data フォルダにある sharedassets2.assets ファイルを UnityEX で開く

最後に Shadowgate_Data フォルダにある sharedassets2.assets ファイルを UnityEX で開きます。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語表示テスト環境、Shadowgate(2014)用日本語フォントサンプルファイル公開&インストール方法、PC ゲーム リメイク版 Shadowgate(2014) - UnityEX インポート用ビットマップ日本語フォント BIZ UDPMincho(PC-Shadowgate2014-Unity4-nGUI-JPFont-BIZUDPMincho-Regular-UnityEX-Import-assets-20220412.7z)ファイルをダウンロードして展開・解凍、Unity_Assets_Files フォルダを Shadowgate_Data フォルダに配置、Unity_Assets_Files フォルダインポート方法 1、Shadowgate_Data フォルダにある sharedassets2.assets ファイルを UnityEX で開き、Import files ボタンをクリックしてインポート

UnityEX で sharedassets2.assets ファイルを開いたら Import files ボタンをクリックしてインポートして完了です。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語表示テスト環境、Shadowgate(2014)用日本語フォントサンプルファイル公開&インストール方法、PC ゲーム リメイク版 Shadowgate(2014) - UnityEX インポート用ビットマップ日本語フォント BIZ UDPMincho(PC-Shadowgate2014-Unity4-nGUI-JPFont-BIZUDPMincho-Regular-UnityEX-Import-assets-20220412.7z)ファイルをダウンロードして展開・解凍、Unity_Assets_Files フォルダを Shadowgate_Data フォルダに配置、Unity_Assets_Files フォルダインポート方法 2、Shadowgate_Data フォルダに UnityEX.exe ファイルと空の bat ファイル(ファイル名は任意)を新規作成して配置、bat ファイルを実行して Unity_Assets_Files フォルダにあるファイルをまとめてインポート

Shadowgate(2014)用日本語フォントインストール方法その 2。

Shadowgate_Data フォルダに UnityEX.exe ファイルと空の bat ファイル(ファイル名は任意)を新規作成して配置します。

bat ファイルには以下のバッチスクリプトをコピー&ペーストして保存後、bat ファイルを(PC 環境によっては管理者権限で)実行して Unity_Assets_Files フォルダにあるファイルをまとめてインポートします。

PC ゲーム リメイク版 Shadowgate(2014)日本語フォントファイルインポートバッチスクリプト
UnityEX.exe import sharedassets0.assets
UnityEX.exe import sharedassets1.assets
UnityEX.exe import sharedassets2.assets
pause
PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語表示テスト環境、Shadowgate(2014)用日本語フォントサンプルファイル公開&インストール方法、PC ゲーム リメイク版 Shadowgate(2014) - UnityEX インポート用ビットマップ日本語フォント BIZ UDPMincho(PC-Shadowgate2014-Unity4-nGUI-JPFont-BIZUDPMincho-Regular-UnityEX-Import-assets-20220412.7z)ファイルの Unity_Assets_Files フォルダインポート後の sharedassets0.assets・sharedassets1.assets・sharedassets2.assets ファイルサイズ

PC ゲーム リメイク版 Shadowgate(2014) - UnityEX インポート用ビットマップ日本語フォント BIZ UDPMincho(PC-Shadowgate2014-Unity4-nGUI-JPFont-BIZUDPMincho-Regular-UnityEX-Import-assets-20220412.7z) ファイルインポート後の各 assets ファイルのファイルサイズです。

複数あるオリジナルのフォントファイル(ビットマップ)に、日本語ビットマップデータを追加する形をとっているため、ファイルサイズが大きくなっています。そのためか、ゲーム中のメモリ使用量が日本語フォントインストール前と比べて、さらに数百 MB 単位で消費する点に注意してください。

以下、BIZ UDPMincho フォントを使ったスクリーンショットを公開します。翻訳していないため字幕テキストは英語のままです。翻訳・編集方法については こちらこちら で説明します。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語表示テスト環境、Shadowgate(2014)用日本語フォントサンプルファイル公開&インストール方法、BIZ UD 明朝フォントスクリーンショット
PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語表示テスト環境、Shadowgate(2014)用日本語フォントサンプルファイル公開&インストール方法、BIZ UD 明朝フォントスクリーンショット
PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語表示テスト環境、Shadowgate(2014)用日本語フォントサンプルファイル公開&インストール方法、BIZ UD 明朝フォントスクリーンショット
PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語表示テスト環境、Shadowgate(2014)用日本語フォントサンプルファイル公開&インストール方法、BIZ UD 明朝フォントスクリーンショット
PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語表示テスト環境、Shadowgate(2014)用日本語フォントサンプルファイル公開&インストール方法、BIZ UD 明朝フォントスクリーンショット
PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語表示テスト環境、Shadowgate(2014)用日本語フォントサンプルファイル公開&インストール方法、BIZ UD 明朝フォントスクリーンショット
PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語表示テスト環境、Shadowgate(2014)用日本語フォントサンプルファイル公開&インストール方法、BIZ UD 明朝フォントスクリーンショット
PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語表示テスト環境、Shadowgate(2014)用日本語フォントサンプルファイル公開&インストール方法、BIZ UD 明朝フォントスクリーンショット
PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語表示テスト環境、Shadowgate(2014)用日本語フォントサンプルファイル公開&インストール方法、BIZ UD 明朝フォントスクリーンショット
PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語表示テスト環境、Shadowgate(2014)用日本語フォントサンプルファイル公開&インストール方法、BIZ UD 明朝フォントスクリーンショット
PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語表示テスト環境、Shadowgate(2014)用日本語フォントサンプルファイル公開&インストール方法、BIZ UD 明朝フォントスクリーンショット
PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語表示テスト環境、Shadowgate(2014)用日本語フォントサンプルファイル公開&インストール方法、BIZ UD 明朝フォントスクリーンショット
PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語表示テスト環境、Shadowgate(2014)用日本語フォントサンプルファイル公開&インストール方法、BIZ UD 明朝フォントスクリーンショット
PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語表示テスト環境、Shadowgate(2014)用日本語フォントサンプルファイル公開&インストール方法、BIZ UD 明朝フォントスクリーンショット
PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語表示テスト環境、Shadowgate(2014)用日本語フォントサンプルファイル公開&インストール方法、BIZ UD 明朝フォントスクリーンショット

PC ゲーム リメイク版 Shadowgate(2014)フォントファイル解析

PC ゲーム リメイク版 Shadowgate(2014) では nGUI で作成されたビットマップフォントを使っています。

雑用担当の備忘録さんのところで nGUI のバイナリデータ解析記録の記事 が残っていますが、Unity 用解析ツールを使うことでフォントファイルの特定と座標などのフォーマット情報を確認することができます。

以下、Unity 解析ツール AssetStudioUABE 2.2 stable d を使った nGUI フォントデータの特定方法です。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)フォントファイル解析、ゲームインストール先にある Shadowgate_Data フォルダを AssetStudio へドラッグアンドドロップして開く

AssetStudio を起動します。

PC ゲーム リメイク版 Shadowgate(2014) ゲームインストール先にある Shadowgate_Data フォルダを AssetStudio へドラッグアンドドロップして開きます。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)フォントファイル解析、ゲームインストール先にある Shadowgate_Data フォルダを AssetStudio へドラッグアンドドロップして開く、AssetStudio で Filter Type を MonoBehaviour にチェックマーク、Asset List タブを選択して UIFONT で検索、Name 列にある UIFont をクリックすると Select Assembly Folder 画面が表示されるので、ゲームインストール先 Shadowgate_Data\Managed フォルダを選択

Shadowgate_Data フォルダを AssetStudio で開いたら、メニュー Filter Type を All から MonoBehaviour にチェックマークに入れます。

Asset List タブを選択して検索欄に UIFONT を入力します。

Name 列に UIFont が列挙されるのでどれかクリックすると Select Assembly Folder 画面(上の画像)が表示されるので、ゲームインストール先にある Shadowgate_Data\Managed フォルダを開き、フォルダーの選択ボタンをクリックします。

間違ってキャンセルしたり違うフォルダを選択してしまった場合は最初からやり直します。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)フォントファイル解析、ゲームインストール先にある Shadowgate_Data フォルダを AssetStudio へドラッグアンドドロップして開く、AssetStudio で Filter Type を MonoBehaviour にチェックマーク、Asset List タブを選択して UIFONT で検索、Name 列にある UIFont をクリックすると Select Assembly Folder 画面が表示されるので、ゲームインストール先 Shadowgate_Data\Managed フォルダを選択、Preview タブに表示された UIFont の MonoBehaviour 内容

Preview タブに表示された UIFont の MonoBehaviour 内容の一部です。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)フォントファイル解析、ゲームインストール先にある Shadowgate_Data フォルダを AssetStudio へドラッグアンドドロップして開く、AssetStudio で Filter Type を MonoBehaviour にチェックマーク、Asset List タブを選択して UIFONT で検索、Name 列にある UIFont をクリックすると Select Assembly Folder 画面が表示されるので、ゲームインストール先 Shadowgate_Data\Managed フォルダを選択、Dump タブに表示された UIFont の MonoBehaviour 内容

こちらの画像は Dump タブに表示された UIFont の MonoBehaviour 内容の一部です。synctam の雑談日記にある Fallout Shelter のフォントについて 記事の「2. 座標情報」のところで、同じ MonoBehaviour 内容であることが確認できます。

PC ゲーム リメイク版 Shadowgate(2014) で使われている nGUI フォントの座標データ(MonoBehaviour)はこの方法で特定できます。

ただし、AssetStudio ではわかるのは Path ID までで、どの assets ファイルに該当する UIFont の MonoBehaviour が含まれているかわかりません。

どの assets ファイルに UIFont の MonoBehaviour があるのかを特定するには以下の 2種類の方法があります。

1つ目の方法は次に説明する解析ツール UABE 2.2 stable d を使って各 assets ファイルを開き、該当する Path ID まで移動して Type が MonoBehaviour : UIFont(Assembly-CSharp.dll) になっているものを見つける方法です。

確実な方法ですが assets ファイル数や目的の MonoBehaviour が多い場合は大変な作業になります。今回は特定するファイル数があまり多くなく、assets ファイル名の番号が先頭にあるものに格納されていたのですぐに特定できました。

もう一つの方法は後から判明した機能ですが、AssetStudio の Options → Export options 画面を開き、Export 欄にある Group exported assets by に設定されている type name を、source file name に変更してエクスポートする方法です。

エクスポート後に assets ファイル名のフォルダが生成されるので、すぐに assets ファイルが特定できるいう方法です。ただ、エクスポートされた MonoBehaviour のファイル名は、Path ID と関係のないファイル名となっています。

どの assets ファイルからエクスポートされた MonoBehaviour かを判断するには、1つ目の方法で説明した UABE 2.2 stable d を使います。assets ファイルを開き Path ID に移動して Type が MonoBehaviour : UIFont(Assembly-CSharp.dll) があるかどうか調べていくことになります。

ほかの nGUI フォントを使った Unity ゲームであれば、同じ手順で MonoBehaviour を特定することができると思われます。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)フォントファイル解析、Shadowgate_Data フォルダにある sharedassets0.assets ファイルを UABE で開き、Asset info 画面のメニュー Tools にある Get script information をクリック(UABE で Shadowgate(2014)の asset ファイルや level ファイルを開いた場合は Get script information を必ず実行、これをやらないと View Data の内容がすべて表示されなかったり、エクスポート・インポートで必要なデータが欠落するため)

MonoBehaviour が特定できたので、次に各 MonoBehaviour がどのビットマップフォント(テクスチャ)ファイルを参照しているのかを調べる方法です。

解析ツールには UABE 2.2 stable d を使用します。

UABE 2.2 stable d を起動して MonoBehaviour(UIFont)がある assets ファイルを開きます。(画像では sharedassets0.assets ファイルを開いている状態)

Asset info 画面でメニュー Tools にある Get script information をクリックします。

Unity ゲームによっては UABE 2.2 stable d で asset ファイルや level ファイルを開いたときに Get script information を実行しないと、この後実行する View Data の内容がすべて表示されなかったり、エクスポート・インポートで必要なデータが欠落することがあります。

そのため、UABE 2.2 stable d では必ず Get script information を実行したほうがよいでしょう。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)フォントファイル解析、Shadowgate_Data フォルダにある sharedassets0.assets ファイルを UABE で開き、Asset info 画面のメニュー Tools にある Get script information をクリック(UABE で Shadowgate(2014)の asset ファイルや level ファイルを開いた場合は Get script information を必ず実行、これをやらないと View Data の内容がすべて表示されなかったり、エクスポート・インポートで必要なデータが欠落するため)、Path ID 863 の MonoBehaviour(UIFont)を選択して View Data ボタンをクリック

Path ID 863 の Type が MonoBehaviour : UIFont(Assembly-CSharp.dll)となっており、AssetStudio での検索結果の Path ID と一致 していることが確認できます。

View Data ボタンをクリックして中身を確認します。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)フォントファイル解析、Shadowgate_Data フォルダにある sharedassets0.assets ファイルを UABE で開き、Asset info 画面のメニュー Tools にある Get script information をクリック(UABE で Shadowgate(2014)の asset ファイルや level ファイルを開いた場合は Get script information を必ず実行、これをやらないと View Data の内容がすべて表示されなかったり、エクスポート・インポートで必要なデータが欠落するため)、Path ID 863 の MonoBehaviour(UIFont)を選択して View Data ボタンをクリック、Path ID 863 の MonoBehaviour(UIFont)の Asset Data 画面

sharedassets0.assets ファイルの Path ID 863 MonoBehaviour(UIFont)の Asset Data 画面です。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)フォントファイル解析、Shadowgate_Data フォルダにある sharedassets0.assets ファイルを UABE で開き、Asset info 画面のメニュー Tools にある Get script information をクリック(UABE で Shadowgate(2014)の asset ファイルや level ファイルを開いた場合は Get script information を必ず実行、これをやらないと View Data の内容がすべて表示されなかったり、エクスポート・インポートで必要なデータが欠落するため)、Path ID 863 の MonoBehaviour(UIFont)を選択して View Data ボタンをクリック、Path ID 863 の MonoBehaviour(UIFont)の Asset Data 画面、nGUI ビットマップフォントテクスチャファイルの探し方、PPtr<$Material> mMat → [view assets] → Material Base → UnityPropertySheet m_SavedProperties → map m_TexEnvs → Array Array → 0 → pair data → UnityTexEnv second → PPtr<Texture> m_Texture で FileID = 0、PathID = 6 が、Path ID 863 の MonoBehaviour(UIFont)が参照している nGUI ビットマップフォントのテクスチャ ID

PPtr<$Material> mMat → [view assets] → Material Base → UnityPropertySheet m_SavedProperties → map m_TexEnvs → Array Array → 0 → pair data → UnityTexEnv second → PPtr<Texture> m_Texture まで階層をたどっていくと FileID = 0, PathID = 6 が見つかります。

これが Path ID 863 の MonoBehaviour(UIFont)が参照している nGUI ビットマップフォントのテクスチャ ID になります。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)フォントファイル解析、Shadowgate_Data フォルダにある sharedassets0.assets ファイルを UABE で開き、Asset info 画面のメニュー Tools にある Get script information をクリック(UABE で Shadowgate(2014)の asset ファイルや level ファイルを開いた場合は Get script information を必ず実行、これをやらないと View Data の内容がすべて表示されなかったり、エクスポート・インポートで必要なデータが欠落するため)、Path ID 863 の MonoBehaviour(UIFont)を選択して View Data ボタンをクリック、Path ID 863 の MonoBehaviour(UIFont)の Asset Data 画面、nGUI ビットマップフォントテクスチャファイルの探し方、PPtr<$Material> mMat → [view assets] → Material Base → UnityPropertySheet m_SavedProperties → map m_TexEnvs → Array Array → 0 → pair data → UnityTexEnv second → PPtr<Texture> m_Texture で FileID = 0、PathID = 6 が、Path ID 863 の MonoBehaviour(UIFont)が参照している nGUI ビットマップフォントのテクスチャ ID、PPtr<Texture> m_Texture 内にある [view assets] を展開することで nGUI ビットマップフォントテクスチャ情報が確認可能

ちなみに PPtr<Texture> m_Texture 内にある [view assets] を展開することで、nGUI ビットマップフォントテクスチャ情報が確認できます。(UABE 2.2 stable d で Path ID 6 に移動して View Data で表示される内容と同じ)

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)フォントファイル解析、ゲームインストール先にある Shadowgate_Data フォルダを AssetStudio へドラッグアンドドロップして開く、AssetStudio で Filter Type を Texture2D にチェックマーク、Asset List タブを選択して ATLAS で検索、Name 列にある Path ID 6 の GameUIAtlas が、UABE で sharedassets0.assets を開いた際 Path ID 863 の MonoBehaviour(UIFont)で PPtr<Texture> m_Texture(FileID = 0、PathID = 6)で指していた nGUI ビットマップフォントテクスチャ

AssetStudio ではテクスチャプレビュー機能があるので、見つかった Path ID のテクスチャ内容を確認してみます。

AssetStudio のメニュー Filter Type で Texture2D にチェックマークに入れます。

Asset List タブを選択して検索欄に ATLAS を入力します。

Name 列にある Path ID 6 の GameUIAtlas が、UABE 2.2 stable d で sharedassets0.assets を開いた際 Path ID 863 の MonoBehaviour(UIFont)で PPtr<Texture> m_Texture(FileID = 0、PathID = 6)で指していた nGUI ビットマップフォントテクスチャです。

上の画像のようにフォント以外のアイコンがある含まれるテクスチャは nGUI と呼ばれる Unity アセットを使って作成されたものとみていいようです。

おそらく、TextMesh Pro が使われる前の古いゲーム(エンジン)ではビットマップフォントに nGUI を採用しているゲームが多かったのではないかと思われます。

元は有償アセットでしたが古いバージョンのフリー版が公開されており、環境を用意すればだれでも nGUI でフォントが作成できるようになっています。ただ、今回の日本語化フォントを作成するにあたってはフォント以外の画像データはそのまま残す必要がありますので、ビットマップフォント画像の合成や座標データの修正・統合する手間はあります。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)フォントファイル解析、ゲームインストール先にある Shadowgate_Data フォルダを AssetStudio へドラッグアンドドロップして開く、AssetStudio で Filter Type を MonoBehaviour にチェックマーク、Asset List タブを選択して UIFONT で検索、Name 列にある UIFont をクリックすると Select Assembly Folder 画面が表示されるので、ゲームインストール先 Shadowgate_Data\Managed フォルダを選択、Dump タブに表示された UIFont の MonoBehaviour 内容、sharedassets0.assets の Path ID 6 の GameUIAtlas には 3種類の英数字フォントがあるが、MonoBehaviour(UIFont)でこの GameUIAtlas を参照しているのは sharedassets0.assets の Path ID 863 と sharedassets2.assets の Path ID 494 の MonoBehaviour(UIFont)の 2種類のみ、おそらく GameUIAtlas 画像中央にある太字の英数字フォントはゲーム内では未確認のためおそらく未使用(ちなみに画像左上にあるわずかに縁ありフォントがゲーム画面中央下ボックス内テキストフォント、画像右下の縁ありフォントはオープニング字幕)、どちらの MonoBehaviour(UIFont)が GameUIAtlas 画像内にあるフォントを参照しているのかを特定するには、MonoBehaviour(UIFont)の x, y 座標データから判断、index 65(Unicode の A)の x, y 座標より Path ID 863 は x = 37、Path ID 494 は x = 415、雑用担当の備忘録さんの記事によると画像左下が原点(0, 0)となるようなので Path ID 863 は画像左上のわずかに縁ありフォント、Path ID 494 は画像右下の縁ありフォントとなる
PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)フォントファイル解析、ゲームインストール先にある Shadowgate_Data フォルダを AssetStudio へドラッグアンドドロップして開く、AssetStudio で Filter Type を MonoBehaviour にチェックマーク、Asset List タブを選択して UIFONT で検索、Name 列にある UIFont をクリックすると Select Assembly Folder 画面が表示されるので、ゲームインストール先 Shadowgate_Data\Managed フォルダを選択、Dump タブに表示された UIFont の MonoBehaviour 内容、sharedassets0.assets の Path ID 6 の GameUIAtlas には 3種類の英数字フォントがあるが、MonoBehaviour(UIFont)でこの GameUIAtlas を参照しているのは sharedassets0.assets の Path ID 863 と sharedassets2.assets の Path ID 494 の MonoBehaviour(UIFont)の 2種類のみ、おそらく GameUIAtlas 画像中央にある太字の英数字フォントはゲーム内では未確認のためおそらく未使用(ちなみに画像左上にあるわずかに縁ありフォントがゲーム画面中央下ボックス内テキストフォント、画像右下の縁ありフォントはオープニング字幕)、どちらの MonoBehaviour(UIFont)が GameUIAtlas 画像内にあるフォントを参照しているのかを特定するには、MonoBehaviour(UIFont)の x, y 座標データから判断、index 65(Unicode の A)の x, y 座標より Path ID 863 は x = 37、Path ID 494 は x = 415、雑用担当の備忘録さんの記事によると画像左下が原点(0, 0)となるようなので Path ID 863 は画像左上のわずかに縁ありフォント、Path ID 494 は画像右下の縁ありフォントとなる

sharedassets0.assets の Path ID 6 の GameUIAtlas テクスチャには 3種類の英数字フォントがあります。

MonoBehaviour(UIFont)でこの GameUIAtlas テクスチャを参照しているのは、sharedassets0.assets の Path ID 863 と sharedassets2.assets の Path ID 494 の MonoBehaviour(UIFont)の 2種類のみです。

GameUIAtlas 画像中央にある太字の英数字フォントはゲーム内では未確認のためおそらく未使用です。

画像左上 にあるわずかに縁ありフォントがゲーム画面中央下ボックス内テキストフォント、画像右下 の縁ありフォントはオープニング字幕となっています。

これは実際に日本語フォントに差し替えたときにフォント変更箇所を確認しています。つまり、この時点でのフォント解析ではほぼ同じ形状のフォントが多い Shadowgate(2014)ではフォント使用箇所の特定はまだできません。

どちらの MonoBehaviour(UIFont)が GameUIAtlas 画像内にあるフォントを参照しているのかを特定するには、MonoBehaviour(UIFont)の x, y 座標データから判断します。

雑用担当の備忘録さんの記事 によると画像左下が原点(0, 0)(※)となっています。

※ MonoBehaviour(UIFont)の内容(Rectf mUVRect)によって原点座標は異なります。今回 nGUI で作成した日本語フォントの場合(Rectf mUVRect の float 型 x と y が 0、float 型 width と height が 1)、左上が原点座標になります。

index 65(Unicode の A)を例に x, y 座標より Path ID 863 は x = 37、Path ID 494 は x = 415 となっているので、Path ID 863 MonoBehaviour(UIFont)は画像左上のわずかに縁ありフォント、Path ID 494 MonoBehaviour(UIFont)は画像右下の縁ありフォントと判断できます。

以上の方法で Shadowgate(2014) フォント解析結果を以下まとめました。このフォント解析結果をもとに 日本語フォントを作成 します。

Shadowgate(2014) - nGUI ビットマップフォントテクスチャ
  • sharedassets0.assets
    • (UABE: Path ID、UnityEX: #)6 - GameUIAtlas.tex
      • フォント - 3種類(うち 1種類は未使用)
      • MonoBehaviour(UIFont)フォントサイズ - 35、45
      • nGUI テクスチャ縦横サイズ - W2048xH1024
  • sharedassets1.assets
    • (UABE: Path ID、UnityEX: #)14 - InventoryItemsAtlas.tex
      • フォント - 2種類(うち 1種類は未使用)
      • MonoBehaviour(UIFont)フォントサイズ - 45
      • nGUI テクスチャ縦横サイズ - W2048xH2048
    • (UABE: Path ID、UnityEX: #)19 - Tips.tex
      • フォント - 1種類
      • MonoBehaviour(UIFont)フォントサイズ - 42
      • nGUI テクスチャ縦横サイズ - W2048xH2048
    • (UABE: Path ID、UnityEX: #)24 - MenuAtlas.tex
      • フォント - 3種類
      • MonoBehaviour(UIFont)フォントサイズ - 35、42、60
      • nGUI テクスチャ縦横サイズ - W2048xH2048
  • sharedassets2.assets
    • (UABE: Path ID、UnityEX: #)23 - MapAtlas.tex
      • フォント - 2種類
      • MonoBehaviour(UIFont)フォントサイズ - 35
      • nGUI テクスチャ縦横サイズ - W2048xH2048
    • (UABE: Path ID、UnityEX: #)31 - InventoryAtlas.tex
      • フォント - 1種類
      • MonoBehaviour(UIFont)フォントサイズ - 35
      • nGUI テクスチャ縦横サイズ - W2048xH1024
Shadowgate(2014) - MonoBehaviour(UIFont)ファイル情報
  • sharedassets0.assets
    • (UABE: Path ID、UnityEX: #)863 - UnityEX: sharedassets0_00001.-2(MonoBehaviour: Garamond42.UIFont)
      • フォント名 - Adobe Garamond Pro
      • フォント形状 - 縁わずかにあり
      • フォントサイズ - 45(base 39)
      • 参照 nGUI フォント - sharedassets0.assets → (UABE: Path ID、UnityEX: #)6 - GameUIAtlas.tex
      • フォント使用箇所 - プレイ画面下部中央ボックス内フォント
  • sharedassets1.assets
    • (UABE: Path ID、UnityEX: #)1035 - UnityEX: sharedassets1_00001.-2(MonoBehaviour: Immortal_34_Tips.UIFont)
      • フォント名 - immortal_34
      • フォント形状 - 縁あり
      • フォントサイズ - 42(base 31)
      • 参照 nGUI フォント - sharedassets1.assets → (UABE: Path ID、UnityEX: #)19 - Tips.tex
      • フォント使用箇所 - チュートリアル Tips メッセージフォント
    • (UABE: Path ID、UnityEX: #)1040 - UnityEX: sharedassets1_00002.-2(MonoBehaviour: Garamond42_invitem.UIFont)
      • フォント名 - Adobe Garamond Pro
      • フォント形状 - 縁わずかにあり
      • フォントサイズ - 45(base 39)
      • 参照 nGUI フォント - sharedassets1.assets → (UABE: Path ID、UnityEX: #)14 - InventoryItemsAtlas.tex
      • フォント使用箇所 - インベントリアイテムメッセージフォント?
    • (UABE: Path ID、UnityEX: #)1041 - UnityEX: sharedassets1_00003.-2(MonoBehaviour: Immortal_28_Menu.UIFont)
      • フォント名 - immortal_28
      • フォント形状 - 縁あり
      • フォントサイズ - 35(base 26)
      • 参照 nGUI フォント - sharedassets1.assets → (UABE: Path ID、UnityEX: #)24 - MenuAtlas.tex
      • フォント使用箇所 - メニュー・オプションボタンフォント、アチーブメント文、ヘルプ内容、キーバインドキーボタン名、セーブ・ロードスロット内容(日付・時刻・難易度)、セーブスロット DELETE ボタンと YES・NO ボタンなど
    • (UABE: Path ID、UnityEX: #)1042 - UnityEX: sharedassets1_00004.-2(MonoBehaviour: Immortal_34_Menu.UIFont)
      • フォント名 - immortal_34
      • フォント形状 - 縁あり
      • フォントサイズ - 42(base 31)
      • 参照 nGUI フォント - sharedassets1.assets → (UABE: Path ID、UnityEX: #)24 - MenuAtlas.tex
      • フォント使用箇所 - オプション項目フォント、DEFALUT・APPLY・RESET ボタンフォント、システムタイトルフォント SAVE GAEM と LOAD GAME とセーブ・ロードリストのスロット名(地名)、QUIT システムメッセージ、セーブファイル DELETE 時のシステムメッセージ、アチーブメント名、キーバインド項目、ヘルプ項目、ニューゲーム Normal・Classic など
    • (UABE: Path ID、UnityEX: #)1043 - UnityEX: sharedassets1_00005.-2(MonoBehaviour: Immortal_48_Menu.UIFont)
      • フォント名 - mmortal_48
      • フォント形状 - 縁あり
      • フォントサイズ - 60(base 44)
      • 参照 nGUI フォント - sharedassets1.assets → (UABE: Path ID、UnityEX: #)24 - MenuAtlas.tex
      • フォント使用箇所 - システムタイトルフォント QUIT・DELETE GAME など
  • sharedassets2.assets
    • (UABE: Path ID、UnityEX: #)494 - UnityEX: sharedassets2_00001.-2(MonoBehaviour: Immortal_28_Game.UIFont)
      • フォント名 - immortal_28
      • フォント形状 - 縁あり
      • フォントサイズ - 35(base 26)
      • 参照 nGUI フォント - sharedassets0.assets → (UABE: Path ID、UnityEX: #)6 - GameUIAtlas.tex
      • フォント使用箇所 - オープニング字幕
    • (UABE: Path ID、UnityEX: #)495 - UnityEX: sharedassets2_00002.-2(MonoBehaviour: Inv_Gold.UIFont)
      • フォント名 - INV_Spell_font
      • フォント形状 - 縁あり(カラー: ゴールド?)
      • フォントサイズ - 50(base 37)
      • 参照 nGUI フォント - sharedassets2.assets → (UABE: Path ID、UnityEX: #)31 - InventoryAtlas.tex
      • フォント使用箇所 - インベントリタブフォント、フォント名からインベントリのスペルフォント?
    • (UABE: Path ID、UnityEX: #)496 - UnityEX: sharedassets2_00003.-2(MonoBehaviour: immortal_28_mapbase.UIFont)
      • フォント名 - immortal_28
      • フォント形状 - 縁あり
      • フォントサイズ - 35(base 26)
      • 参照 nGUI フォント - sharedassets2.assets → (UABE: Path ID、UnityEX: #)23 - MapAtlas.tex
      • フォント使用箇所 - マップ地名ドロップダウンリストフォント
    • (UABE: Path ID、UnityEX: #)497 - UnityEX: sharedassets2_00004.-2(MonoBehaviour: immortal_plain_white_28.UIFont)
      • フォント名 - immortal_plain_white_28
      • フォント形状 - 縁わずかにあり
      • フォントサイズ - 35(base 26)
      • 参照 nGUI フォント - sharedassets2.assets → (UABE: Path ID、UnityEX: #)23 - MapAtlas.tex
      • フォント使用箇所 - マップ地名フォント

PC ゲーム リメイク版 Shadowgate(2014)日本語フォント作成方法

フォント解析情報 をもとに日本語フォントを作成します。

Shadowgate(2014)からテクスチャファイル(nGUI ビットマップフォント)と MonoBehaviour(UIFont)ファイルエクスポート

フォント解析結果 から日本語フォント作成に必要なファイルを UnityEXUABE 2.2 stable d を使ってエクスポートします。

ここでエクスポートしたファイルは、作成した nGUI フォント から エクスポートした日本語フォントデータ(テクスチャ、座標データ) を、GIMP で日本語ビットマップフォントの合成日本語フォントから座標データの移植 で使用します。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語フォント作成方法、Shadowgate(2014)からテクスチャファイル(nGUI ビットマップフォント)と MonoBehaviour(UIFont)ファイルエクスポート、ゲームインストール先 Shadowgate_Data フォルダにある sharedassets0.assets ファイルを UnityEX で開き、#6 GameUIAtlas.tex を選択して右クリックで Export with convert or Raw を選択、Shadowgate_Data\Unity_Assets_Files\sharedassets0\Textures フォルダに GameUIAtlas.tex.dds ファイルがエクスポート

最初は UnityEX を使ってテクスチャファイル(nGUI ビットマップフォント)をエクスポートします。

Shadowgate_Data フォルダにある sharedassets0.assets ファイルを UnityEX で開きます。

#6 GameUIAtlas.tex を選択して右クリックで Export with convert or Raw を選択します。

Shadowgate_Data\Unity_Assets_Files\sharedassets0\Textures フォルダに GameUIAtlas.tex.dds ファイルがエクスポートされます。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語フォント作成方法、Shadowgate(2014)からテクスチャファイル(nGUI ビットマップフォント)と MonoBehaviour(UIFont)ファイルエクスポート、ゲームインストール先 Shadowgate_Data フォルダにある sharedassets1.assets ファイルを UnityEX で開き、#14 InventoryItemsAtlas.tex・#19 Tips.tex・#24 MenuAtlas.tex を選択して右クリックで Export with convert or Raw を選択、Shadowgate_Data\Unity_Assets_Files\sharedassets1\Textures フォルダに InventoryItemsAtlas.tex.dds・Tips.tex.dds・MenuAtlas.tex.dds ファイルがエクスポート

Shadowgate_Data フォルダにある sharedassets1.assets ファイルを UnityEX で開きます。

#14 InventoryItemsAtlas.tex・#19 Tips.tex・#24 MenuAtlas.tex を選択して右クリックで Export with convert or Raw を選択します。

Shadowgate_Data\Unity_Assets_Files\sharedassets1\Textures フォルダに GameUIAtlas.tex.dds ファイルがエクスポートされます。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語フォント作成方法、Shadowgate(2014)からテクスチャファイル(nGUI ビットマップフォント)と MonoBehaviour(UIFont)ファイルエクスポート、ゲームインストール先 Shadowgate_Data フォルダにある sharedassets2.assets ファイルを UnityEX で開き、#23 MapAtlas.tex・#31 InventoryAtlas.tex を選択して右クリックで Export with convert or Raw を選択、Shadowgate_Data\Unity_Assets_Files\sharedassets2\Textures フォルダに MapAtlas.tex.dds・InventoryAtlas.tex.dds ファイルがエクスポート

Shadowgate_Data フォルダにある sharedassets2.assets ファイルを UnityEX で開きます。

#23 MapAtlas.tex・#31 InventoryAtlas.tex を選択して右クリックで Export with convert or Raw を選択します。

Shadowgate_Data\Unity_Assets_Files\sharedassets2\Textures フォルダに GameUIAtlas.tex.dds ファイルがエクスポートされます。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語フォント作成方法、Shadowgate(2014)からテクスチャファイル(nGUI ビットマップフォント)と MonoBehaviour(UIFont)ファイルエクスポート、ゲームインストール先 Shadowgate_Data フォルダにある sharedassets0.assets ファイルを UABE で開き、Path ID 863 を選択して Export Dump ボタンをクリックして MonoBehaviour(UIFont)テキストファイル(unnamed asset-sharedassets0.assets-863-MonoBehaviour.txt)をエクスポート

次に UABE 2.2 stable d を使って MonoBehaviour(UIFont)ファイルをエクスポートします。

Shadowgate_Data フォルダにある sharedassets0.assets ファイルを UABE 2.2 stable d で開きます。

Asset info 画面のメニュー Tools にある Get script information をクリック後、Path ID 863 の MonoBehaviour(Type: MonoBehaviour : UIFont(Assembly-CSharp.dll))選択して Export Dump ボタンをクリックします。

任意の場所に MonoBehaviour(UIFont)テキストファイルをエクスポートします。

ここでエクスポートしたファイル名は unnamed asset-sharedassets0.assets-863-MonoBehaviour.txt となっています。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語フォント作成方法、Shadowgate(2014)からテクスチャファイル(nGUI ビットマップフォント)と MonoBehaviour(UIFont)ファイルエクスポート、ゲームインストール先 Shadowgate_Data フォルダにある sharedassets0.assets ファイルを UABE で開く、目的の Path ID がわかっている場合は Asset info 画面のメニュー View → Go to assets を選択、Go to 画面で File ID に assets ファイルを選択(ここでは sharedassets0.assets を選択)、Path ID に 863 を入力して OK ボタンをクリック、Path ID 863 を選択して Export Dump ボタンをクリックして MonoBehaviour(UIFont)テキストファイルをエクスポート

ちなみに目的の Path ID がわかっている場合、Asset info 画面のメニューにある View → Go to assets からジャンプすることができます。

Go to 画面で File ID に assets ファイルを選択(ここでは sharedassets0.assets を選択)、Path ID に数字を入力(ここでは 863 を入力)して OK ボタンをクリックすることですぐに目的の Path ID まで移動します。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語フォント作成方法、Shadowgate(2014)からテクスチャファイル(nGUI ビットマップフォント)と MonoBehaviour(UIFont)ファイルエクスポート、ゲームインストール先 Shadowgate_Data フォルダにある sharedassets1.assets ファイルを UABE で開き、Path ID 1035 と 1040~1043 を選択して Export Dump ボタンをクリックして MonoBehaviour(UIFont)テキストファイル(unnamed asset-sharedassets1.assets-1035-MonoBehaviour.txt、unnamed asset-sharedassets1.assets-1040-MonoBehaviour.txt、unnamed asset-sharedassets1.assets-1041-MonoBehaviour.txt、unnamed asset-sharedassets1.assets-1042-MonoBehaviour.txt、unnamed asset-sharedassets1.assets-1043-MonoBehaviour.txt)をエクスポート

Shadowgate_Data フォルダにある sharedassets1.assets ファイルを UABE 2.2 stable d で開きます。

Asset info 画面のメニュー Tools にある Get script information をクリック後、Path ID 1035 と 1040~1043 の MonoBehaviour(Type: MonoBehaviour : UIFont(Assembly-CSharp.dll))選択して Export Dump ボタンをクリックします。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語フォント作成方法、Shadowgate(2014)からテクスチャファイル(nGUI ビットマップフォント)と MonoBehaviour(UIFont)ファイルエクスポート、ゲームインストール先 Shadowgate_Data フォルダにある sharedassets1.assets ファイルを UABE で開き、Path ID 1035 と 1040~1043 を選択して Export Dump ボタンをクリックして MonoBehaviour(UIFont)テキストファイルをエクスポート、複数項目を選択して 場合は Select a dump type 画面が表示され 3つのエクスポートオプションが選択可能、ここではデフォルトの UABE text dump (can be imported)で MonoBehaviour(UIFont)テキストファイル(unnamed asset-sharedassets2.assets-494-MonoBehaviour.txt、unnamed asset-sharedassets2.assets-495-MonoBehaviour.txt、unnamed asset-sharedassets2.assets-496-MonoBehaviour.txt、unnamed asset-sharedassets2.assets-497-MonoBehaviour.txt)をエクスポート

複数項目を選択して Export Dump した場合は Select a dump type 画面が表示されます。

3つのエクスポートオプションが選択可能ですが、ここではデフォルトの UABE text dump (can be imported) のままで任意の場所に MonoBehaviour(UIFont)テキストファイルをエクスポートします。

ここでエクスポートしたファイル名は unnamed asset-sharedassets2.assets-494-MonoBehaviour.txt、unnamed asset-sharedassets2.assets-495-MonoBehaviour.txt、unnamed asset-sharedassets2.assets-496-MonoBehaviour.txt、unnamed asset-sharedassets2.assets-497-MonoBehaviour.txt となっています。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語フォント作成方法、Shadowgate(2014)からテクスチャファイル(nGUI ビットマップフォント)と MonoBehaviour(UIFont)ファイルエクスポート、ゲームインストール先 Shadowgate_Data フォルダにある sharedassets2.assets ファイルを UABE で開き、Path ID 494~497 を選択して Export Dump ボタンをクリックして MonoBehaviour(UIFont)テキストファイルをエクスポート、複数項目を選択して Export Dump した場合は Select a dump type 画面が表示され 3つのエクスポートオプションが選択可能、ここではデフォルトの UABE text dump (can be imported)で MonoBehaviour(UIFont)テキストファイル(unnamed asset-sharedassets2.assets-494-MonoBehaviour.txt、unnamed asset-sharedassets2.assets-495-MonoBehaviour.txt、unnamed asset-sharedassets2.assets-496-MonoBehaviour.txt、unnamed asset-sharedassets2.assets-497-MonoBehaviour.txt)をエクスポート

Shadowgate_Data フォルダにある sharedassets2.assets ファイルを UABE 2.2 stable d で開きます。

Asset info 画面のメニュー Tools にある Get script information をクリック後、Path ID 494~497 の MonoBehaviour(Type: MonoBehaviour : UIFont(Assembly-CSharp.dll))選択して Export Dump ボタンをクリックします。

複数項目を選択して Export Dump した場合は Select a dump type 画面が表示されるので、デフォルトの UABE text dump (can be imported) のまま任意の場所に MonoBehaviour(UIFont)テキストファイルをエクスポートします。

ここでエクスポートしたファイル名は unnamed asset-sharedassets2.assets-494-MonoBehaviour.txt、unnamed asset-sharedassets2.assets-495-MonoBehaviour.txt、unnamed asset-sharedassets2.assets-496-MonoBehaviour.txt、unnamed asset-sharedassets2.assets-497-MonoBehaviour.txt となっています。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語フォント作成方法、Shadowgate(2014)からテクスチャファイル(nGUI ビットマップフォント)と MonoBehaviour(UIFont)ファイルエクスポート、UABE からエクスポートした MonoBehaviour(UIFont)テキストファイルをテキストエディタで開き、Rectf mUVRect 以下 PPtr<$UIAtlas> mAtlas まで削除して保存、削除した個所は Unity ゲームエンジンで作成した nGUI フォントの MonoBehaviour(UIFont)データから該当箇所を移植して座標データを修正
PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語フォント作成方法、Shadowgate(2014)からテクスチャファイル(nGUI ビットマップフォント)と MonoBehaviour(UIFont)ファイルエクスポート、UABE からエクスポートした MonoBehaviour(UIFont)テキストファイルをテキストエディタで開き、Rectf mUVRect 以下 PPtr<$UIAtlas> mAtlas まで削除して保存、削除した個所は Unity ゲームエンジンで作成した nGUI フォントの MonoBehaviour(UIFont)データから該当箇所を移植して座標データを修正

エクスポートした各 MonoBehaviour(UIFont)テキストファイルをテキストエディタで開き、Rectf mUVRect 以下 PPtr<$UIAtlas> mAtlas までのデータをまとめて削除して保存します。

削除した個所については Unity ゲームエンジンで作成した nGUI フォント から エクスポートした日本語フォントの MonoBehaviour(UIFont)データ より 移植 します。

この方法は ブリッツ氏の Blacksad Under the Skin 日本語フォントデータ MonoBehaviour テキストファイル編集方法 を参考にしています。

Unity ゲームエンジン 4.7.2 と nGUI 2.7.0 Free Version インストール

Shadowgate(2014) と同じゲームエンジンのメジャーバージョンの最終バージョン Unity ゲームエンジン 4.7.2 とフォント作成用の nGUI 2.7.0 Free Version をインストールします。

どちらも無料でインストールして使うことができます。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語フォント作成方法、Unity ゲームエンジン 4.7.2 と nGUI 2.7.0 Free Version インストール、Unity download archive から Unity 4.x にある Unity 4.7.2 から Unity Editor を選択してダウンロード&インストール

Unity download archive にある Unity 4.x タブから、Unity 4.7.2 にある Unity Editor を選択してダウンロード&インストールします。古いゲームエンジンのためか Unity Hub は使いません。

インストール手順については こちらのサイト が参考になります。

注意点として Unity 4 をインストールするにあたっては Unity アカウントが必要なようです。

私はもともとアカウントを作成済みだったのですんなりインストールできましたが、持ってない人はここでアカウントを作成することになると思います。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語フォント作成方法、Unity ゲームエンジン 4.7.2 と nGUI 2.7.0 Free Version インストール、Unity download archive から Unity 4.x にある Unity 4.7.2 から Unity Editor を選択してダウンロード&インストール、NGUI 公式サイトから nGUI 2.7.0 Free Version の ngui270.unitypackage をダウンロード、Unity 4.7.2 を起動してメニュー Assets → Import Package → Custom Package ... をクリックしてダウンロードした ngui270.unitypackage を開く

Unity 4.7.2 に nGUI 2.7.0 Free Version をインストールします。

nGUI 公式サイト から Free Version にある here リンクをクリックして ngui270.unitypackage ファイルをダウンロードします。

Unity 4.7.2 を起動してメニュー Assets → Import Package → Custom Package ... をクリックして、ダウンロードした ngui270.unitypackage を開きます。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語フォント作成方法、Unity ゲームエンジン 4.7.2 と nGUI 2.7.0 Free Version インストール、Unity download archive から Unity 4.x にある Unity 4.7.2 から Unity Editor を選択してダウンロード&インストール、NGUI 公式サイトから nGUI 2.7.0 Free Version の ngui270.unitypackage をダウンロード、Unity 4.7.2 を起動してメニュー Assets → Import Package → Custom Package ... をクリックしてダウンロードした ngui270.unitypackage を開く、Importing package 画面が表示されるので Import ボタンをクリックして nGUI 2.7.0 Free Version をインポート

Importing package 画面が表示されるので Import ボタンをクリックして nGUI 2.7.0 Free Version をインポートします。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語フォント作成方法、Unity ゲームエンジン 4.7.2 と nGUI 2.7.0 Free Version インストール、Unity download archive から Unity 4.x にある Unity 4.7.2 から Unity Editor を選択してダウンロード&インストール、NGUI 公式サイトから nGUI 2.7.0 Free Version の ngui270.unitypackage をダウンロード、Unity 4.7.2 を起動してメニュー Assets → Import Package → Custom Package ... をクリックしてダウンロードした ngui270.unitypackage を開く、Importing package 画面が表示されるので Import ボタンをクリックして nGUI 2.7.0 Free Version をインポート、nGUI(ngui270.unitypackage)インポート後に Projetct タブにある Assets フォルダ内に NGUI フォルダが追加され、メニューに NGUI が追加されたらインポート成功

nGUI(ngui270.unitypackage)インポート後に Projetct タブにある Assets フォルダ内に NGUI フォルダが追加され、メニューに NGUI が追加されたらインポート成功です。

これで nGUI フォントを作成できる環境が整いました。nGUI フォントを作成するには BMFont(Bitmap Font Generator)で日本語のビットマップフォントを生成 する必要があります。

BMFont(Bitmap Font Generator)日本語ビットマップフォント作成

BMFont(Bitmap Font Generator) で日本語ビットマップフォントを作成します。

BMFont(Bitmap Font Generator) で作成したビットマップフォントは Unity 4.7.2 にインポートして、nGUI フォント作成機能を使って Shadowgate(2014)用フォントを生成 に使用します。

BMFont(Bitmap Font Generator) の基本的な使い方については こここここちらの動画 などが参考になります。

BMFont(Bitmap Font Generator) で生成したファイルの成果物は PC ゲーム リメイク版 Shadowgate(2014) - BMFont(Bitmap Font Generator)ビットマップ日本語フォント(BIZ UDPMincho)生成&設定ファイル(png、fnt、bmfc)(PC-Shadowgate2014-BMFont-BIZUDPMincho-Regular-bmfc-fnt-png-20220412.7z) として公開しておきます。

以下、今回作成した日本語ビットマップフォントの設定内容です。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語フォント作成方法、BMFont(Bitmap Font Generator)日本語ビットマップフォント作成、BMFont(Bitmap Font Generator) - Font Settings 設定内容その 1、Font は BIZ UDP明朝(OS にフォントをインストールしていない場合はその下の Add font file から ttf ファイルを指定)、Charset は Unicode、Autofit pages は 1(Size (px) 指定不可)、Bold にチェックマーク、Effets の Outline thickness は 1(縁ありフォント)

BMFont(Bitmap Font Generator) - Font Settings 設定内容その 1。

Font は BIZ UDP明朝(Morisawa BIZ UDMincho) を設定(OS にフォントをインストールしていない場合はその下の Add font file から ttf ファイルを指定)。今回はこの BIZ UDP明朝(Morisawa BIZ UDMincho) フォントのみ使用します。

Charset は日本語フォントを使用する場合 Unicode にします。

Autofit pages は 1 に設定(Size (px)は指定不可)。今回は用意した日本語を含む文字数で、決められたテクスチャ縦横サイズ内にフォントサイズが最大になるようにするために使用します。フォントサイズを直接指定した場合より、フォント生成に多少時間がかかります。

Bold にチェックマーク。ここの設定は任意ですが文字が読みやすくなると思い入れています。

Effets の Outline thickness は 1(縁ありフォント)。こちらも任意設定ですが、一応差し替え対象のフォントに似せるために入れています。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語フォント作成方法、BMFont(Bitmap Font Generator)日本語ビットマップフォント作成、BMFont(Bitmap Font Generator) - Font Settings 設定内容その 2、Font は BIZ UDP明朝(OS にフォントをインストールしていない場合はその下の Add font file から ttf ファイルを指定)、Charset は Unicode、Autofit pages は 1(Size (px) 指定不可)、Bold にチェックマーク、Effets の Outline thickness は 3(縁ありフォント)

BMFont(Bitmap Font Generator) - Font Settings 設定内容その 2。

Font Settings 設定内容その 1 と同じで、違いは Effets の Outline thickness が 3(縁ありフォント)のみです。同じ理由で差し替え対象のフォントに似せるために入れています。

上記 Font Settings 2パターンとセットで次の Export Options もテクスチャサイズ違い(=フォントサイズ違い)の 2パターン作成します。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語フォント作成方法、BMFont(Bitmap Font Generator)日本語ビットマップフォント作成、BMFont(Bitmap Font Generator) - Export Options 設定内容その 1、Texture - Width 2048, Height 2048、Presets - Outlined text with alpha(A: outline、RGB: glyph)

BMFont(Bitmap Font Generator) - Export Options 設定内容その 1。

Texture を Width 2048, Height 2048。このテクスチャサイズについては次の Export Options 設定内容その 2 で補足します。

Presets は Outlined text with alpha(A: outline、RGB: glyph)。縁ありフォントにする場合はこの Presets を使うようです。

画像では Presets は Custom になってますが、一度設定した後や設定ファイル(bmfc)を読み込んだ時など自動的に Custom 表記になるようです。ARGB 各項目が Presets にあった設定に切り替わっていれば問題ありません。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語フォント作成方法、BMFont(Bitmap Font Generator)日本語ビットマップフォント作成、BMFont(Bitmap Font Generator) - Export Options 設定内容その 2、Texture - Width 2048, Height 4096、Presets - Outlined text with alpha(A: outline、RGB: glyph)

BMFont(Bitmap Font Generator) - Export Options 設定内容その 2。

Export Options 設定内容その 1 と同じで、違いは Texture が Width 2048, Height 4096 になっている点のみです。

Texture の縦横サイズについて。nGUI ではインポートしたフォントファイルのテクスチャ縦横サイズが 4096 までしか設定できない ようので、4096 以下にサイズを指定しています。

今回既存のオリジナル nGUI テクスチャに日本語ビットマップフォントを追加する形ですが、すでにあるテクスチャ内容にはフォント以外のアイコンなどがあります。アイコンとフォントが重ならないようにするために、テクスチャ縦横サイズを画像編集ソフトで拡張したうえで空いたスペースに日本語ビットマップフォントを配置 します。

既存のオリジナル nGUI テクスチャは 2048x2048 または 2048x1024 のいずれかのサイズとなっており、4096x4096(※)以内に収めようとすると、空いたスペースに配置できるテクスチャサイズは 2048x2048、2048x4096、4096x2048 のいずれか複数を組み合わせることになります。ただ、2048x4096 と 4096x2048 はお互い範囲内に重なってしまうため、同一テクスチャファイルでは一緒にできない組み合わせになります。

※ nGUI でインポートしたテクスチャサイズは 4096x4096 までしか指定できませんが、画像編集ソフトでそれ以上のサイズに拡大して配置すること自体はできます。ただ、Unity 4 ゲームエンジン上ではどのテクスチャサイズまで問題なく動くかわからない(試していない)ため、今回の記事では念のため nGUI で指定可能な 4096x4096 までを上限としてこのサイズ内にフォントを収めることにしています。

上記の Font Settings 設定内容 1 と 2、Export Options 設定内容 1 と 2、それぞれを組み合わせた 4パターンの縁ありフォントを作成しています。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語フォント作成方法、BMFont(Bitmap Font Generator)日本語ビットマップフォント作成、BMFont(Bitmap Font Generator) - Font Settings 設定内容その 3、Font は BIZ UDP明朝(OS にフォントをインストールしていない場合はその下の Add font file から ttf ファイルを指定)、Charset は Unicode、Autofit pages は 1(Size (px) 指定不可)、Bold のチェックマークはなし、Effets の Outline thickness は 0(縁なしフォント)

BMFont(Bitmap Font Generator) - Font Settings 設定内容その 3 です。この設定では縁なしフォントを作成します。

Font Settings 設定内容 1 と 2 とほぼ同じで、違いは Bold のチェックマークはなし、Effets の Outline thickness は 0(縁なしフォント)にしています。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語フォント作成方法、BMFont(Bitmap Font Generator)日本語ビットマップフォント作成、BMFont(Bitmap Font Generator) - Export Options 設定内容その 3、Texture - Width 2048, Height 2048、Presets - White text with alpha(A: glyph、RGB: one)

BMFont(Bitmap Font Generator) - Export Options 設定内容その 3 です。

Texture は Width 2048, Height 2048、Presets は縁なしのため White text with alpha(A: glyph、RGB: one)にします。

ボールド体ではない縁なしフォントを作成した理由ですが、Shadowgate(2014)にあるゲーム内マップのフォントが黒一色となっており、フォントが太いと日本語のような字数が多い漢字がつぶれて見えなくなってしまう恐れがあります。そのため、縁ありフォントとは別に作成しています。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語フォント作成方法、BMFont(Bitmap Font Generator)日本語ビットマップフォント作成、BMFont(Bitmap Font Generator)メニュー Edit → Select chars from file をクリック、文字一覧テキストファイル(Charset が Unicode の場合 UTF-16、OEM の SHIFTJIS の場合 BOM 付き UTF-8)を登録

BMFont(Bitmap Font Generator) のメニュー Edit → Select chars from file をクリックして、テキストファイルから Unicode 文字一覧を登録します。

文字が登録されているテキストファイルの文字コードは、Font Settings の Charset が Unicode の場合、文字コードは UTF-16 か UTF-8 になっている必要があります。(参考情報 1参考情報 2)(どちらの文字コードも BOM 付きで改行コードは CRLF)

今回作成した日本語ビットマップフォントの文字一覧は synctam/UnicodeTableForJapaneseGameProduction: ゲーム制作用文字一覧表(UTF-8) から一部利用しました。

4種類あるテキストファイルのうち jis_1_kanji_utf8.txt(JIS 第一水準漢字 2,965文字)と jis_non_kanji.txt(JIS 非漢字 626文字)と ascii_and_other.txt(ascii 他 159文字)の 3種類を新規作成した UTF-16 のテキストファイルに貼り付け、目視で使われることはないであろうと思われる文字を削った 3,480文字を登録に使用しました。

jis_2_kanji_utf8.txt の JIS 第二水準漢字(3,390文字)はテクスチャサイズの都合上、これ以上文字数を増やすと文字が小さくなってしまうため今回登録していません。

上記作成した文字一覧テキストファイルを PC ゲーム リメイク版 Shadowgate(2014) - BMFont(Bitmap Font Generator)文字一覧テキストファイル(UTF-16、3,480文字)(PC-Shadowgate2014-BMFont-Unicode-JPFontText_UTF-16-20220412.7z) として公開しておきます。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語フォント作成方法、BMFont(Bitmap Font Generator)日本語ビットマップフォント作成、BMFont(Bitmap Font Generator)メニュー Optionst → Save bitmap font as... をクリックして保存(png と fnt ファイル)、Save configuration as... から設定ファイル保存(bmfc ファイル)

一通り設定後、メニュー Optionst → Save bitmap font as... をクリックして名前を付けて保存すると、png と fnt ファイルとして保存されます。この png と fnt ファイルを nGUI フォント作成時に Unity にインポート して使用します。

下にある Save configuration as... から設定ファイルとして bmfc ファイルを保存することができます。同じメニュー内にある Load configuration から bmfc 設定ファイルを読み込むことができます。

Unity ゲームエンジンで nGUI フォント作成

nGUI をインストールした Unity 4BMFont(Bitmap Font Generator)で作成した日本語フォントファイル をインポートして nGUI フォントを生成します。

nGUI フォントの作成方法については こここここちらの動画 などが参考になります。

大まかな流れはバージョンや機能は違いますが、synctam 氏の記事、様々なバージョンの TextMesh Pro でフォントを作成する手順 とほぼ同じ内容です。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語フォント作成方法、Unity ゲームエンジンで nGUI フォント作成、Unity の Project タブにある Assets フォルダに BMFont(Bitmap Font Generator)で作成した png と fnt ファイルをドラッグアンドドロップでインポート

Unity の Project タブにある Assets フォルダに、BMFont(Bitmap Font Generator)で作成した png と fnt ファイル をドラッグアンドドロップでインポートします。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語フォント作成方法、Unity ゲームエンジンで nGUI フォント作成、Unity の Project タブにある Assets フォルダに BMFont(Bitmap Font Generator)で作成した png と fnt ファイルをドラッグアンドドロップでインポート、追加した png ファイル(ファイル名末尾~_0)を選択して、Inspector タブを開き設定変更

追加した png ファイル(ファイル名末尾~_0)を選択して、Inspector タブから設定を変更します。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語フォント作成方法、Unity ゲームエンジンで nGUI フォント作成、Unity の Project タブにある Assets フォルダに BMFont(Bitmap Font Generator)で作成した png と fnt ファイルをドラッグアンドドロップでインポート、追加した png ファイル(ファイル名末尾~_0)を選択して、Inspector タブを開き設定変更、Texture Type を Texture から Advanced に変更

Inspector タブにある Texture Type を Texture から Advanced に変更します。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語フォント作成方法、Unity ゲームエンジンで nGUI フォント作成、Unity の Project タブにある Assets フォルダに BMFont(Bitmap Font Generator)で作成した png と fnt ファイルをドラッグアンドドロップでインポート、追加した png ファイル(ファイル名末尾~_0)を選択して、Inspector タブを開き設定変更、Texture Type を Texture から Advanced に変更、Default タブにある Max Size を png ファイル縦横サイズの最大値を設定(2048x4096 の場合は 4096 に設定、4096 以上の設定は不可)、Shadowgate(2014)オリジナル nGUI テクスチャフォーマットと同じ仕様に合わせる場合は Default タブにある Format を RGBA 32bit、Generate Mip Maps のチェックマークを外す、Wrap Mode を Clamp に、Filter Mode を Trilinear、Aniso Level を 4 に設定して Apply ボタンをクリック

Default タブにある Max Size を png ファイル縦横サイズの最大値に設定します。2048x4096 の場合であれば 4096 に設定するということになります。

なお、Default タブの Max Size は 4096 以上に設定できません。BMFont(Bitmap Font Generator)でテクスチャサイズを 4096 より上のサイズにしていない のはこのためです。

必須ではないかもしれませんが、Shadowgate(2014)オリジナル nGUI テクスチャフォーマットと同じ仕様に合わせる場合は、Default タブにある Format を RGBA 32bit に、Generate Mip Maps のチェックマークを外す、Wrap Mode を Clamp に、Filter Mode を Trilinear、Aniso Level を 4 に設定します。

以上、設定が終わったら Apply ボタンをクリックして設定を反映させます。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語フォント作成方法、Unity ゲームエンジンで nGUI フォント作成、Unity の Project タブにある Assets フォルダに BMFont(Bitmap Font Generator)で作成した png と fnt ファイルをドラッグアンドドロップでインポート、追加した png ファイル(ファイル名末尾~_0)を選択して、Inspector タブを開き設定変更、Texture Type を Texture から Advanced に変更、Default タブにある Max Size を png ファイル縦横サイズの最大値を設定(2048x4096 の場合は 4096 に設定、4096 以上の設定は不可)、Shadowgate(2014)オリジナル nGUI テクスチャフォーマットと同じ仕様に合わせる場合は Default タブにある Format を RGBA 32bit、Generate Mip Maps のチェックマークを外す、Wrap Mode を Clamp に、Filter Mode を Trilinear、Aniso Level を 4 に設定して Apply ボタンをクリック後、インポートした png のサイズおよび設定が変更

インポートした png のサイズおよび設定が変更されました。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語フォント作成方法、Unity ゲームエンジンで nGUI フォント作成、Unity の Project タブにある Assets フォルダに BMFont(Bitmap Font Generator)で作成した png と fnt ファイルをドラッグアンドドロップでインポート、追加した png ファイル(ファイル名末尾~_0)を選択して、Inspector タブを開き設定変更、Texture Type を Texture から Advanced に変更、Default タブにある Max Size を png ファイル縦横サイズの最大値を設定(2048x4096 の場合は 4096 に設定、4096 以上の設定は不可)、Shadowgate(2014)オリジナル nGUI テクスチャフォーマットと同じ仕様に合わせる場合は Default タブにある Format を RGBA 32bit、Generate Mip Maps のチェックマークを外す、Wrap Mode を Clamp に、Filter Mode を Trilinear、Aniso Level を 4 に設定して Apply ボタンをクリック後、インポートした png のサイズおよび設定が変更、インポートした png ファイル設定変更後 メニュー NGUI → Open the Font Maker をクリック

インポートした png ファイル設定変更後、メニュー NGUI → Open the Font Maker をクリックします。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語フォント作成方法、Unity ゲームエンジンで nGUI フォント作成、Unity の Project タブにある Assets フォルダに BMFont(Bitmap Font Generator)で作成した png と fnt ファイルをドラッグアンドドロップでインポート、追加した png ファイル(ファイル名末尾~_0)を選択して、Inspector タブを開き設定変更、Texture Type を Texture から Advanced に変更、Default タブにある Max Size を png ファイル縦横サイズの最大値を設定(2048x4096 の場合は 4096 に設定、4096 以上の設定は不可)、Shadowgate(2014)オリジナル nGUI テクスチャフォーマットと同じ仕様に合わせる場合は Default タブにある Format を RGBA 32bit、Generate Mip Maps のチェックマークを外す、Wrap Mode を Clamp に、Filter Mode を Trilinear、Aniso Level を 4 に設定して Apply ボタンをクリック後、インポートした png のサイズおよび設定が変更、インポートした png ファイル設定変更後 メニュー NGUI → Open the Font Maker をクリック、Font Maker 画面で Type が Bitmap になっている状態で Font Data にインポートした fnt ファイルを、Texture にインポートした png ファイルをドラッグアンドドロップ、Output にある Font Name に任意のファイル名(ここではインポート元のファイル名の末尾に -nGUI 追加)を入力して Create a Font without an Atlas ボタンをクリック

Font Maker 画面で Type が Bitmap になっている状態で、Font Data にインポートした fnt ファイルを、Texture にインポートした png ファイルをドラッグアンドドロップします。

Output にある Font Name に任意のファイル名(ここではインポート元のファイル名の末尾に -nGUI 追加)を入力して、Create a Font without an Atlas ボタンをクリックします。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語フォント作成方法、Unity ゲームエンジンで nGUI フォント作成、Unity の Project タブにある Assets フォルダに BMFont(Bitmap Font Generator)で作成した png と fnt ファイルをドラッグアンドドロップでインポート、追加した png ファイル(ファイル名末尾~_0)を選択して、Inspector タブを開き設定変更、Texture Type を Texture から Advanced に変更、Default タブにある Max Size を png ファイル縦横サイズの最大値を設定(2048x4096 の場合は 4096 に設定、4096 以上の設定は不可)、Shadowgate(2014)オリジナル nGUI テクスチャフォーマットと同じ仕様に合わせる場合は Default タブにある Format を RGBA 32bit、Generate Mip Maps のチェックマークを外す、Wrap Mode を Clamp に、Filter Mode を Trilinear、Aniso Level を 4 に設定して Apply ボタンをクリック後、インポートした png のサイズおよび設定が変更、インポートした png ファイル設定変更後 メニュー NGUI → Open the Font Maker をクリック、Font Maker 画面で Type が Bitmap になっている状態で、Font Data にインポートした fnt ファイルを、Texture にインポートした png ファイルをドラッグアンドドロップ、Output にある Font Name に任意のファイル名(ここではインポート元のファイル名の末尾に -nGUI 追加)を入力して Create a Font without an Atlas ボタンをクリック、Project タブの Assets フォルダに Font Maker の Font Name に設定した 2つのファイルが生成

Project タブの Assets フォルダに、Font Maker 画面で Font Name に入力した 2つのファイルが生成されます。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語フォント作成方法、Unity ゲームエンジンで nGUI フォント作成、Unity の Project タブにある Assets フォルダに BMFont(Bitmap Font Generator)で作成した png と fnt ファイルをドラッグアンドドロップでインポート、追加した png ファイル(ファイル名末尾~_0)を選択して、Inspector タブを開き設定変更、Texture Type を Texture から Advanced に変更、Default タブにある Max Size を png ファイル縦横サイズの最大値を設定(2048x4096 の場合は 4096 に設定、4096 以上の設定は不可)、Shadowgate(2014)オリジナル nGUI テクスチャフォーマットと同じ仕様に合わせる場合は Default タブにある Format を RGBA 32bit、Generate Mip Maps のチェックマークを外す、Wrap Mode を Clamp に、Filter Mode を Trilinear、Aniso Level を 4 に設定して Apply ボタンをクリック後、インポートした png のサイズおよび設定が変更、インポートした png ファイル設定変更後 メニュー NGUI → Open the Font Maker をクリック、Font Maker 画面で Type が Bitmap になっている状態で、Font Data にインポートした fnt ファイルを、Texture にインポートした png ファイルをドラッグアンドドロップ、Output にある Font Name に任意のファイル名(ここではインポート元のファイル名の末尾に -nGUI 追加)を入力して Create a Font without an Atlas ボタンをクリック、Project タブの Assets フォルダに Font Maker の Font Name に設定した 2つのファイルが生成、続けて別の nGUI フォントを生成する場合 Font Maker の Output にある Select に、前回生成したファイルが勝手に設定されるがそのままの状態で Create a Font without an Atlas ボタンを押しても問題ない模様

続けて別の nGUI フォントを生成する場合、Font Maker の Output にある Select に前回生成したファイルが勝手に設定されます。そのままの状態で Create a Font without an Atlas ボタンを押しても問題なく生成されて、その後の Shadowgate(2014)用フォント作成では特に問題はなかったので、ここは特に気にしなくてもよいかと思います。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語フォント作成方法、Unity ゲームエンジンで nGUI フォント作成、Unity の Project タブにある Assets フォルダに BMFont(Bitmap Font Generator)で作成した png と fnt ファイルをドラッグアンドドロップでインポート、追加した png ファイル(ファイル名末尾~_0)を選択して、Inspector タブを開き設定変更、Texture Type を Texture から Advanced に変更、Default タブにある Max Size を png ファイル縦横サイズの最大値を設定(2048x4096 の場合は 4096 に設定、4096 以上の設定は不可)、Shadowgate(2014)オリジナル nGUI テクスチャフォーマットと同じ仕様に合わせる場合は Default タブにある Format を RGBA 32bit、Generate Mip Maps のチェックマークを外す、Wrap Mode を Clamp に、Filter Mode を Trilinear、Aniso Level を 4 に設定して Apply ボタンをクリック後、インポートした png のサイズおよび設定が変更、インポートした png ファイル設定変更後 メニュー NGUI → Open the Font Maker をクリック、Font Maker 画面で Type が Bitmap になっている状態で、Font Data にインポートした fnt ファイルを、Texture にインポートした png ファイルをドラッグアンドドロップ、Output にある Font Name に任意のファイル名(ここではインポート元のファイル名の末尾に -nGUI 追加)を入力して Create a Font without an Atlas ボタンをクリック、Project タブの Assets フォルダに Font Maker の Font Name に設定した 2つのファイルが生成、続けて別の nGUI フォントを生成する場合 Font Maker の Output にある Select に、前回生成したファイルが勝手に設定されるがそのままの状態で Create a Font without an Atlas ボタンを押しても問題ない模様、メニュー NGUI → Create a Label をクリック

Font Maker でフォント生成後、メニュー NGUI → Create a Label をクリックします。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語フォント作成方法、Unity ゲームエンジンで nGUI フォント作成、Unity の Project タブにある Assets フォルダに BMFont(Bitmap Font Generator)で作成した png と fnt ファイルをドラッグアンドドロップでインポート、追加した png ファイル(ファイル名末尾~_0)を選択して、Inspector タブを開き設定変更、Texture Type を Texture から Advanced に変更、Default タブにある Max Size を png ファイル縦横サイズの最大値を設定(2048x4096 の場合は 4096 に設定、4096 以上の設定は不可)、Shadowgate(2014)オリジナル nGUI テクスチャフォーマットと同じ仕様に合わせる場合は Default タブにある Format を RGBA 32bit、Generate Mip Maps のチェックマークを外す、Wrap Mode を Clamp に、Filter Mode を Trilinear、Aniso Level を 4 に設定して Apply ボタンをクリック後、インポートした png のサイズおよび設定が変更、インポートした png ファイル設定変更後 メニュー NGUI → Open the Font Maker をクリック、Font Maker 画面で Type が Bitmap になっている状態で、Font Data にインポートした fnt ファイルを、Texture にインポートした png ファイルをドラッグアンドドロップ、Output にある Font Name に任意のファイル名(ここではインポート元のファイル名の末尾に -nGUI 追加)を入力して Create a Font without an Atlas ボタンをクリック、Project タブの Assets フォルダに Font Maker の Font Name に設定した 2つのファイルが生成、続けて別の nGUI フォントを生成する場合 Font Maker の Output にある Select に、前回生成したファイルが勝手に設定されるがそのままの状態で Create a Font without an Atlas ボタンを押しても問題ない模様、メニュー NGUI → Create a Label をクリック、Hierarchy タブに追加された Label の Inspector タブにある UILabel(Script)の Font に生成した nGUI フォントを設定

Hierarchy タブに追加された Label を選択します。

Inspector タブにある UILabel(Script)の Font に生成した nGUI フォントを設定します。Label を作成した時点で自動的に Font が設定されますので、違うフォントが設定されてしまった場合は変更します。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語フォント作成方法、Unity ゲームエンジンで nGUI フォント作成、Unity の Project タブにある Assets フォルダに BMFont(Bitmap Font Generator)で作成した png と fnt ファイルをドラッグアンドドロップでインポート、追加した png ファイル(ファイル名末尾~_0)を選択して、Inspector タブを開き設定変更、Texture Type を Texture から Advanced に変更、Default タブにある Max Size を png ファイル縦横サイズの最大値を設定(2048x4096 の場合は 4096 に設定、4096 以上の設定は不可)、Shadowgate(2014)オリジナル nGUI テクスチャフォーマットと同じ仕様に合わせる場合は Default タブにある Format を RGBA 32bit、Generate Mip Maps のチェックマークを外す、Wrap Mode を Clamp に、Filter Mode を Trilinear、Aniso Level を 4 に設定して Apply ボタンをクリック後、インポートした png のサイズおよび設定が変更、インポートした png ファイル設定変更後 メニュー NGUI → Open the Font Maker をクリック、Font Maker 画面で Type が Bitmap になっている状態で、Font Data にインポートした fnt ファイルを、Texture にインポートした png ファイルをドラッグアンドドロップ、Output にある Font Name に任意のファイル名(ここではインポート元のファイル名の末尾に -nGUI 追加)を入力して Create a Font without an Atlas ボタンをクリック、Project タブの Assets フォルダに Font Maker の Font Name に設定した 2つのファイルが生成、続けて別の nGUI フォントを生成する場合 Font Maker の Output にある Select に、前回生成したファイルが勝手に設定されるがそのままの状態で Create a Font without an Atlas ボタンを押しても問題ない模様、メニュー NGUI → Create a Label をクリック、Hierarchy タブに追加された Label の Inspector タブにある UILabel(Script)の Font に生成した nGUI フォントを設定、同じ手順で nGUI フォントを生成して別の Label にフォント設定

同じ手順で nGUI フォントを生成して別の Label にも違うフォントを設定します。

作成した nGUI フォント数だけ Label を作成して、1対1 で nGUI フォントを割り当てるようにします。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語フォント作成方法、Unity ゲームエンジンで nGUI フォント作成、Unity の Project タブにある Assets フォルダに BMFont(Bitmap Font Generator)で作成した png と fnt ファイルをドラッグアンドドロップでインポート、追加した png ファイル(ファイル名末尾~_0)を選択して、Inspector タブを開き設定変更、Texture Type を Texture から Advanced に変更、Default タブにある Max Size を png ファイル縦横サイズの最大値を設定(2048x4096 の場合は 4096 に設定、4096 以上の設定は不可)、Shadowgate(2014)オリジナル nGUI テクスチャフォーマットと同じ仕様に合わせる場合は Default タブにある Format を RGBA 32bit、Generate Mip Maps のチェックマークを外す、Wrap Mode を Clamp に、Filter Mode を Trilinear、Aniso Level を 4 に設定して Apply ボタンをクリック後、インポートした png のサイズおよび設定が変更、インポートした png ファイル設定変更後 メニュー NGUI → Open the Font Maker をクリック、Font Maker 画面で Type が Bitmap になっている状態で、Font Data にインポートした fnt ファイルを、Texture にインポートした png ファイルをドラッグアンドドロップ、Output にある Font Name に任意のファイル名(ここではインポート元のファイル名の末尾に -nGUI 追加)を入力して Create a Font without an Atlas ボタンをクリック、Project タブの Assets フォルダに Font Maker の Font Name に設定した 2つのファイルが生成、続けて別の nGUI フォントを生成する場合 Font Maker の Output にある Select に、前回生成したファイルが勝手に設定されるがそのままの状態で Create a Font without an Atlas ボタンを押しても問題ない模様、メニュー NGUI → Create a Label をクリック、Hierarchy タブに追加された Label の Inspector タブにある UILabel(Script)の Font に生成した nGUI フォントを設定、同じ手順で nGUI フォントを生成して別の Label にフォント設定、メニュー File → Build Settings... をクリック

nGUI フォントの作成と Label の作成とフォントの割り当てが終わったら最後にビルドします。

メニュー File → Build Settings... をクリックします。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語フォント作成方法、Unity ゲームエンジンで nGUI フォント作成、Unity の Project タブにある Assets フォルダに BMFont(Bitmap Font Generator)で作成した png と fnt ファイルをドラッグアンドドロップでインポート、追加した png ファイル(ファイル名末尾~_0)を選択して、Inspector タブを開き設定変更、Texture Type を Texture から Advanced に変更、Default タブにある Max Size を png ファイル縦横サイズの最大値を設定(2048x4096 の場合は 4096 に設定、4096 以上の設定は不可)、Shadowgate(2014)オリジナル nGUI テクスチャフォーマットと同じ仕様に合わせる場合は Default タブにある Format を RGBA 32bit、Generate Mip Maps のチェックマークを外す、Wrap Mode を Clamp に、Filter Mode を Trilinear、Aniso Level を 4 に設定して Apply ボタンをクリック後、インポートした png のサイズおよび設定が変更、インポートした png ファイル設定変更後 メニュー NGUI → Open the Font Maker をクリック、Font Maker 画面で Type が Bitmap になっている状態で、Font Data にインポートした fnt ファイルを、Texture にインポートした png ファイルをドラッグアンドドロップ、Output にある Font Name に任意のファイル名(ここではインポート元のファイル名の末尾に -nGUI 追加)を入力して Create a Font without an Atlas ボタンをクリック、Project タブの Assets フォルダに Font Maker の Font Name に設定した 2つのファイルが生成、続けて別の nGUI フォントを生成する場合 Font Maker の Output にある Select に、前回生成したファイルが勝手に設定されるがそのままの状態で Create a Font without an Atlas ボタンを押しても問題ない模様、メニュー NGUI → Create a Label をクリック、Hierarchy タブに追加された Label の Inspector タブにある UILabel(Script)の Font に生成した nGUI フォントを設定、同じ手順で nGUI フォントを生成して別の Label にフォント設定、メニュー File → Build Settings... をクリック、Build Settings 画面で Build ボタンをクリックして任意のフォルダに保存

Build Settings 画面で Build ボタンをクリックして任意のフォルダに保存します。

次にビルドしたファイルから フォントデータをエクスポート します。

Unity でビルドしたアセットファイルからテクスチャファイル(nGUI ビットマップフォント)と MonoBehaviour(UIFont)ファイルエクスポート

Unity 4 で nGUI フォント作成後ビルド して生成された assets ファイルからフォントデータをエクスポートします。

エクスポート方法は Shadowgate(2014)の assets ファイルからテクスチャファイル(nGUI ビットマップフォント)と MonoBehaviour(UIFont)ファイルエクスポート と同じです。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語フォント作成方法、Unity でビルドしたアセットファイルからテクスチャファイル(nGUI ビットマップフォント)と MonoBehaviour(UIFont)ファイルエクスポート、nGUI フォント作成後 Unity 4 でビルドして生成された sharedassets0.assets ファイルからテクスチャファイル(nGUI ビットマップフォント)と MonoBehaviour(UIFont)ファイルをエクスポート

Unity 4 でビルドして生成された sharedassets0.assets ファイルです。

この assets ファイルからテクスチャファイル(nGUI ビットマップフォント)と MonoBehaviour(UIFont)ファイルをエクスポートします。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語フォント作成方法、Unity でビルドしたアセットファイルからテクスチャファイル(nGUI ビットマップフォント)と MonoBehaviour(UIFont)ファイルエクスポート、nGUI フォント作成後 Unity 4 でビルドして生成された sharedassets0.assets ファイルからテクスチャファイル(nGUI ビットマップフォント)と MonoBehaviour(UIFont)ファイルをエクスポート、UnityEX で sharedassets0.assets ファイルを開き Type: Texture2D の tex ファイル(ファイル名は nGUI フォント作成時に入力したフォント名)を選択して右クリックで Export with convert or Raw を選択して dds ファイルをエクスポート

UnityEX で sharedassets0.assets ファイルを開きます。

Type: Texture2D の tex ファイル(ファイル名は nGUI フォント作成時に入力したフォント名)を選択、右クリックで Export with convert or Raw を選択して dds ファイルをエクスポートします。

この方法でエクスポートした dds テクスチャファイルを PC ゲーム リメイク版 Shadowgate(2014) - Unity 4 で nGUI フォント(BIZ UDPMincho)を生成、ビルドした assets ファイルから UnityEX でエクスポートした dds ファイル(PC-Shadowgate2014-Unity4-Create-nGUI-BIZUDPMincho-Regular-Font-UnityEX-Export-dds-20220412.7z) にまとめておきましたので公開しておきます。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語フォント作成方法、Unity でビルドしたアセットファイルからテクスチャファイル(nGUI ビットマップフォント)と MonoBehaviour(UIFont)ファイルエクスポート、nGUI フォント作成後 Unity 4 でビルドして生成された sharedassets0.assets ファイルからテクスチャファイル(nGUI ビットマップフォント)と MonoBehaviour(UIFont)ファイルをエクスポート、UnityEX で sharedassets0.assets ファイルを開き Type: Texture2D の tex ファイル(ファイル名は nGUI フォント作成時に入力したフォント名)を選択して右クリックで Export with convert or Raw を選択して dds ファイルをエクスポート、UABE で sharedassets0.assets ファイルを開いた場合、作成した nGUI フォントのテクスチャフォーマット内容が確認可能、Asset info 画面のメニュー Tools にある Get script information をクリック後 View Data ボタンをクリック

ちなみに UABE 2.2 stable d で sharedassets0.assets ファイルを開いた場合、作成した nGUI フォントのテクスチャフォーマット内容の確認が可能です。

Asset info 画面のメニュー Tools にある Get script information をクリック後、Texture2D ファイルを選択して View Data ボタンをクリックします。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語フォント作成方法、Unity でビルドしたアセットファイルからテクスチャファイル(nGUI ビットマップフォント)と MonoBehaviour(UIFont)ファイルエクスポート、nGUI フォント作成後 Unity 4 でビルドして生成された sharedassets0.assets ファイルからテクスチャファイル(nGUI ビットマップフォント)と MonoBehaviour(UIFont)ファイルをエクスポート、UnityEX で sharedassets0.assets ファイルを開き Type: Texture2D の tex ファイル(ファイル名は nGUI フォント作成時に入力したフォント名)を選択して右クリックで Export with convert or Raw を選択して dds ファイルをエクスポート、UABE で sharedassets0.assets ファイルを開いた場合、作成した nGUI フォントのテクスチャフォーマット内容が確認可能、Asset info 画面のメニュー Tools にある Get script information をクリック後 View Data ボタンをクリック、Unity 4 の nGUI で生成したフォントテクスチャフォーマット内容

Unity 4 の nGUI で生成したフォントテクスチャフォーマット内容の Asset Data 画面です。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語フォント作成方法、Unity でビルドしたアセットファイルからテクスチャファイル(nGUI ビットマップフォント)と MonoBehaviour(UIFont)ファイルエクスポート、nGUI フォント作成後 Unity 4 でビルドして生成された sharedassets0.assets ファイルからテクスチャファイル(nGUI ビットマップフォント)と MonoBehaviour(UIFont)ファイルをエクスポート、UABE で sharedassets0.assets ファイルを開いた場合、作成した nGUI フォントのテクスチャフォーマット内容が確認可能、Asset info 画面のメニュー Tools にある Get script information をクリック後 View Data ボタンをクリック、UABE で Shadowgate(2014)オリジナルの sharedassets0.assets ファイルを開き Path ID 6 にある GameUIAtlas のフォントテクスチャフォーマット内容、Unity 4 の nGUI で生成したフォントテクスチャフォーマット内容と比べて名前(Name)、縦横サイズ(Width、Height)、ファイルサイズ(CompleteImageSize)、実データ(TypelessData image data)以外同じ設定値

こちらの画像は UABE 2.2 stable d で Shadowgate(2014)オリジナルの sharedassets0.assets ファイルを開き、Path ID 6 にある GameUIAtlas のフォントテクスチャフォーマット内容の Asset Data 画面です。

Unity 4 の nGUI で生成したフォントテクスチャフォーマット内容と比較すると、名前(Name)・縦横サイズ(Width、Height)・ファイルサイズ(CompleteImageSize)・実データ(TypelessData image data)以外同じ設定値となっているのが確認できます。

これは Unity 4 で BMFont(Bitmap Font Generator)で生成したビットマップフォントファイル をインポートしたときの、ビットマップファイル(.png)の Inspector タブ内にある変更した設定内容 がぴったり合っていたことになります。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語フォント作成方法、Unity でビルドしたアセットファイルからテクスチャファイル(nGUI ビットマップフォント)と MonoBehaviour(UIFont)ファイルエクスポート、nGUI フォント作成後 Unity 4 でビルドして生成された sharedassets0.assets ファイルからテクスチャファイル(nGUI ビットマップフォント)と MonoBehaviour(UIFont)ファイルをエクスポート、UABE で sharedassets0.assets ファイルを開き、Asset info 画面のメニュー Tools にある Get script information をクリック後、File ID 0 の Path ID の最後尾にある MonoBehaviour(UIFont)を Export Dump でテキストファイルをエクスポート

UABE 2.2 stable d で sharedassets0.assets ファイルを開きます。

Asset info 画面のメニュー Tools にある Get script information をクリック後、File ID 0 の Path ID の最後尾にある MonoBehaviour(UIFont)を選択して、Export Dump でテキストファイルをエクスポートします。

複数項目を選択して Export Dump した場合は Select a dump type 画面が表示されるので、デフォルトの UABE text dump (can be imported) のまま任意の場所に MonoBehaviour(UIFont)テキストファイルをエクスポートします。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語フォント作成方法、Unity でビルドしたアセットファイルからテクスチャファイル(nGUI ビットマップフォント)と MonoBehaviour(UIFont)ファイルエクスポート、nGUI フォント作成後 Unity 4 でビルドして生成された sharedassets0.assets ファイルからテクスチャファイル(nGUI ビットマップフォント)と MonoBehaviour(UIFont)ファイルをエクスポート、UABE で sharedassets0.assets ファイルを開き、Asset info 画面のメニュー Tools にある Get script information をクリック後、File ID 0 の Path ID の最後尾にある MonoBehaviour(UIFont)を Export Dump でテキストファイルをエクスポート、複数の MonoBehaviour(UIFont)がある場合、どのテクスチャファイル(nGUI フォント)を参照しているかどうか確認するには MonoBehaviour(UIFont)を View Data ボタンから Assets Data 画面を開き、BMFont mFont にある string mSpriteName のフォント名で判断

複数の MonoBehaviour(UIFont)がある場合、どのテクスチャファイル(nGUI フォント)を参照しているかどうか確認する方法です。

MonoBehaviour(UIFont)を View Data ボタンから Assets Data 画面を開き、BMFont mFont にある string mSpriteName のフォント名で判断します。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語フォント作成方法、Unity でビルドしたアセットファイルからテクスチャファイル(nGUI ビットマップフォント)と MonoBehaviour(UIFont)ファイルエクスポート、nGUI フォント作成後 Unity 4 でビルドして生成された sharedassets0.assets ファイルからテクスチャファイル(nGUI ビットマップフォント)と MonoBehaviour(UIFont)ファイルをエクスポート、UABE で sharedassets0.assets ファイルを開き、Asset info 画面のメニュー Tools にある Get script information をクリック後、File ID 0 の Path ID の最後尾にある MonoBehaviour(UIFont)を Export Dump でテキストファイルをエクスポート、エクスポートした MonoBehaviour(UIFont)テキストファイルをテキストエディタで開き、Rectf mUVRect 以下 PPtr<$UIAtlas> mAtlas までを残す形でそれ以外は削除、残した個所は UABE からエクスポートしたオリジナル asset ファイルの MonoBehaviour(UIFont)テキストファイルへ移植して座標データを修正
PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語フォント作成方法、Unity でビルドしたアセットファイルからテクスチャファイル(nGUI ビットマップフォント)と MonoBehaviour(UIFont)ファイルエクスポート、nGUI フォント作成後 Unity 4 でビルドして生成された sharedassets0.assets ファイルからテクスチャファイル(nGUI ビットマップフォント)と MonoBehaviour(UIFont)ファイルをエクスポート、UABE で sharedassets0.assets ファイルを開き、Asset info 画面のメニュー Tools にある Get script information をクリック後、File ID 0 の Path ID の最後尾にある MonoBehaviour(UIFont)を Export Dump でテキストファイルをエクスポート、エクスポートした MonoBehaviour(UIFont)テキストファイルをテキストエディタで開き、Rectf mUVRect 以下 PPtr<$UIAtlas> mAtlas までを残す形でそれ以外は削除、残した個所は UABE からエクスポートしたオリジナル asset ファイルの MonoBehaviour(UIFont)テキストファイルへ移植して座標データを修正

UABE 2.2 stable d でエクスポートした MonoBehaviour(UIFont)テキストファイルをテキストエディタで開き、Rectf mUVRect 以下 PPtr<$UIAtlas> mAtlas までを残す形で、それ以外(上記画像の選択箇所)は削除します。

残したテキストデータ個所については、同じく UABE 2.2 stable d から エクスポートしたオリジナル asset ファイルの MonoBehaviour(UIFont)移植して座標データを修正 します。

UABE 2.2 stable d で sharedassets0.assets ファイルからエクスポートした MonoBehaviour(UIFont)テキストファイルを、PC ゲーム リメイク版 Shadowgate(2014) - Unity 4 で nGUI フォント(BIZ UDPMincho)を生成、ビルドした assets ファイルから UABE でエクスポートした MonoBehaviour(UIFont)テキストファイル(PC-Shadowgate2014-Unity4-Create-nGUI-BIZUDPMincho-Regular-Font-UABE-Export-MonoBehaviour-UIFont-txt-20220412.7z) にまとめて公開しておきます。

上の 7z ファイルにある Export Dump MonoBehaviour txt フォルダにはエクスポート後の無編集の MonoBehaviour(UIFont)テキストファイルを、Fix MonoBehaviour txt フォルダには Rectf mUVRect から PPtr<$UIAtlas> mAtlas までを残してそれ以外を削除した MonoBehaviour(UIFont)テキストファイルに分けて格納しています。

画像編集処理ソフト GIMP でビットマップフォント合成

Shadowgate(2014)の assets ファイルからエクスポートしたテクスチャファイル(nGUI ビットマップフォント) に、Unity 4 で nGUI フォントを作成してビルドした assets ファイル から エクスポートした dds フォント(nGUI ビットマップフォント)画像編集処理ソフト GIMP で合成して 1つのテクスチャファイルにまとめます。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語フォント作成方法、画像編集処理ソフト GIMP でビットマップフォント合成、Shadowgate(2014)の assets ファイルからエクスポートした dds テクスチャファイル(nGUI ビットマップフォント)を GIMP で開く、Load DDS 画面が開き OK ボタンでクリックして続行

Shadowgate(2014)の assets ファイルからエクスポートした dds テクスチャファイル(nGUI ビットマップフォント))GIMP で開きます。

Load DDS 画面が開くので、OK ボタンでクリックして続行します。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語フォント作成方法、画像編集処理ソフト GIMP でビットマップフォント合成、Shadowgate(2014)の assets ファイルからエクスポートした dds テクスチャファイル(nGUI ビットマップフォント)を GIMP で開く、Load DDS 画面が開き OK ボタンでクリックして続行、GIMP で開いた GameUIAtlas.tex.dds ファイル

GIMP で開いた GameUIAtlas.tex.dds ファイルです。

ここではこの GameUIAtlas.tex.dds ファイルを例に日本語ビットマップフォントを合成してみます。ちなみにこのテクスチャファイルの縦横サイズは W2048 x H1024 です。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語フォント作成方法、画像編集処理ソフト GIMP でビットマップフォント合成、Shadowgate(2014)の assets ファイルからエクスポートした dds テクスチャファイル(nGUI ビットマップフォント)を GIMP で開く、Load DDS 画面が開き OK ボタンでクリックして続行、GIMP で開いた GameUIAtlas.tex.dds ファイル、メニュー 画像 → キャンパスサイズの変更を選択

テクスチャの縦横サイズを拡張して日本語ビットマップフォントを配置します。

メニュー 画像 → キャンパスサイズの変更を選択します。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語フォント作成方法、画像編集処理ソフト GIMP でビットマップフォント合成、Shadowgate(2014)の assets ファイルからエクスポートした dds テクスチャファイル(nGUI ビットマップフォント)を GIMP で開く、Load DDS 画面が開き OK ボタンでクリックして続行、GIMP で開いた GameUIAtlas.tex.dds ファイル、メニュー 画像 → キャンパスサイズの変更を選択、キャンパスサイズの変更画面でキャンパスサイズを変更

キャンパスサイズの変更画面です。キャンパスサイズが幅 2048・高さ 1024 となっているのでこれを変更します。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語フォント作成方法、画像編集処理ソフト GIMP でビットマップフォント合成、Shadowgate(2014)の assets ファイルからエクスポートした dds テクスチャファイル(nGUI ビットマップフォント)を GIMP で開く、Load DDS 画面が開き OK ボタンでクリックして続行、GIMP で開いた GameUIAtlas.tex.dds ファイル、メニュー 画像 → キャンパスサイズの変更を選択、キャンパスサイズの変更画面でキャンパスサイズを幅 4096、高さ 4096 に変更してリサイズボタンをクリック

キャンパスサイズを幅 4096・高さ 4096 に変更してリサイズボタンをクリックします。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語フォント作成方法、画像編集処理ソフト GIMP でビットマップフォント合成、Shadowgate(2014)の assets ファイルからエクスポートした dds テクスチャファイル(nGUI ビットマップフォント)を GIMP で開く、Load DDS 画面が開き OK ボタンでクリックして続行、GIMP で開いた GameUIAtlas.tex.dds ファイル、メニュー 画像 → キャンパスサイズの変更を選択、キャンパスサイズの変更画面でキャンパスサイズを幅 4096 高さ 4096 に変更してリサイズボタンをクリック、キャンパスサイズ幅 2048 高さ 1024 から幅 4096 高さ 4096 に変更

GameUIAtlas.tex.dds ファイルのキャンパスサイズが幅 2048・高さ 1024 から幅 4096・高さ 4096 に変更しました。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語フォント作成方法、画像編集処理ソフト GIMP でビットマップフォント合成、Shadowgate(2014)の assets ファイルからエクスポートした dds テクスチャファイル(nGUI ビットマップフォント)を GIMP で開く、Load DDS 画面が開き OK ボタンでクリックして続行、GIMP で開いた GameUIAtlas.tex.dds ファイル、メニュー 画像 → キャンパスサイズの変更を選択、キャンパスサイズの変更画面でキャンパスサイズを幅 4096 高さ 4096 に変更してリサイズボタンをクリック、キャンパスサイズ幅 2048 高さ 1024 から幅 4096 高さ 4096 に変更後、Unity 4 の nGUI で作成してエクスポートした dds フォントファイル(2048x4096)をドラッグアンドドロップで追加

Unity 4 で nGUI フォントを作成してビルドした assets ファイル から、GameUIAtlas.tex.dds に設定したい エクスポートした dds フォント(nGUI ビットマップフォント) をドラッグアンドドロップで追加します。(上の画像で追加したフォント画像サイズは W2048xH4096)

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語フォント作成方法、画像編集処理ソフト GIMP でビットマップフォント合成、Shadowgate(2014)の assets ファイルからエクスポートした dds テクスチャファイル(nGUI ビットマップフォント)を GIMP で開く、Load DDS 画面が開き OK ボタンでクリックして続行、GIMP で開いた GameUIAtlas.tex.dds ファイル、メニュー 画像 → キャンパスサイズの変更を選択、キャンパスサイズの変更画面でキャンパスサイズを幅 4096 高さ 4096 に変更してリサイズボタンをクリック、キャンパスサイズ幅 2048 高さ 1024 から幅 4096 高さ 4096 に変更後、Unity 4 の nGUI で作成してエクスポートした dds フォントファイル(2048x4096)をドラッグアンドドロップで追加、矩形選択モード状態で追加した画像(黄色点線枠)をキャンパス内右上隅または右下隅に位置をあわせる形で移動(キーボード矢印キー or Shift + 矢印キー)して配置
PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語フォント作成方法、画像編集処理ソフト GIMP でビットマップフォント合成、Shadowgate(2014)の assets ファイルからエクスポートした dds テクスチャファイル(nGUI ビットマップフォント)を GIMP で開く、Load DDS 画面が開き OK ボタンでクリックして続行、GIMP で開いた GameUIAtlas.tex.dds ファイル、メニュー 画像 → キャンパスサイズの変更を選択、キャンパスサイズの変更画面でキャンパスサイズを幅 4096 高さ 4096 に変更してリサイズボタンをクリック、キャンパスサイズ幅 2048 高さ 1024 から幅 4096 高さ 4096 に変更後、Unity 4 の nGUI で作成してエクスポートした dds フォントファイル(2048x4096)をドラッグアンドドロップで追加、矩形選択モード状態で追加した画像(黄色点線枠)をキャンパス内右上隅または右下隅に位置をあわせる形で移動(キーボード矢印キー or Shift + 矢印キー)して配置

矩形選択モード状態で追加した画像(黄色点線枠)を、キャンパス内右上隅または右下隅に位置をあわせる形で移動(キーボード矢印キー or Shift + 矢印キー)して配置します。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語フォント作成方法、画像編集処理ソフト GIMP でビットマップフォント合成、Shadowgate(2014)の assets ファイルからエクスポートした dds テクスチャファイル(nGUI ビットマップフォント)を GIMP で開く、Load DDS 画面が開き OK ボタンでクリックして続行、GIMP で開いた GameUIAtlas.tex.dds ファイル、メニュー 画像 → キャンパスサイズの変更を選択、キャンパスサイズの変更画面でキャンパスサイズを幅 4096 高さ 4096 に変更してリサイズボタンをクリック、キャンパスサイズ幅 2048 高さ 1024 から幅 4096 高さ 4096 に変更後、Unity 4 の nGUI で作成してエクスポートした dds フォントファイル(2048x4096)をドラッグアンドドロップで追加、矩形選択モード状態で追加した画像(黄色点線枠)をキャンパス内右上隅または右下隅に位置をあわせる形で移動(キーボード矢印キー or Shift + 矢印キー)して配置、

続けて残りのスペースに Unity 4 で nGUI フォントを作成してビルドした assets ファイル から、GameUIAtlas.tex.dds に設定したい エクスポートした dds フォント(nGUI ビットマップフォント) をドラッグアンドドロップで追加します。(上の画像で追加したフォント画像サイズは 2048x2048)

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語フォント作成方法、画像編集処理ソフト GIMP でビットマップフォント合成、Shadowgate(2014)の assets ファイルからエクスポートした dds テクスチャファイル(nGUI ビットマップフォント)を GIMP で開く、Load DDS 画面が開き OK ボタンでクリックして続行、GIMP で開いた GameUIAtlas.tex.dds ファイル、メニュー 画像 → キャンパスサイズの変更を選択、キャンパスサイズの変更画面でキャンパスサイズを幅 4096 高さ 4096 に変更してリサイズボタンをクリック、キャンパスサイズ幅 2048 高さ 1024 から幅 4096 高さ 4096 に変更後、Unity 4 の nGUI で作成してエクスポートした dds フォントファイル(2048x4096)をドラッグアンドドロップで追加、矩形選択モード状態で追加した画像(黄色点線枠)をキャンパス内右上隅または右下隅に位置をあわせる形で移動(キーボード矢印キー or Shift + 矢印キー)して配置、続けて Unity 4 の nGUI で作成してエクスポートしたもう一つの dds フォントファイル(2048x2048)をドラッグアンドドロップで追加、矩形選択モード状態で追加した画像(黄色点線枠)をキャンパス内左下隅に位置をあわせる形で移動(キーボード矢印キー or Shift + 矢印キー)して配置
PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語フォント作成方法、画像編集処理ソフト GIMP でビットマップフォント合成、Shadowgate(2014)の assets ファイルからエクスポートした dds テクスチャファイル(nGUI ビットマップフォント)を GIMP で開く、Load DDS 画面が開き OK ボタンでクリックして続行、GIMP で開いた GameUIAtlas.tex.dds ファイル、メニュー 画像 → キャンパスサイズの変更を選択、キャンパスサイズの変更画面でキャンパスサイズを幅 4096 高さ 4096 に変更してリサイズボタンをクリック、キャンパスサイズ幅 2048 高さ 1024 から幅 4096 高さ 4096 に変更後、Unity 4 の nGUI で作成してエクスポートした dds フォントファイル(2048x4096)をドラッグアンドドロップで追加、矩形選択モード状態で追加した画像(黄色点線枠)をキャンパス内右上隅または右下隅に位置をあわせる形で移動(キーボード矢印キー or Shift + 矢印キー)して配置、続けて Unity 4 の nGUI で作成してエクスポートしたもう一つの dds フォントファイル(2048x2048)をドラッグアンドドロップで追加、矩形選択モード状態で追加した画像(黄色点線枠)をキャンパス内左下隅に位置をあわせる形で移動(キーボード矢印キー or Shift + 矢印キー)して配置

矩形選択モード状態で追加した画像(黄色点線枠)を、キャンパス内左下隅に位置をあわせる形で移動(キーボード矢印キー or Shift + 矢印キー)して配置します。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語フォント作成方法、画像編集処理ソフト GIMP でビットマップフォント合成、Shadowgate(2014)の assets ファイルからエクスポートした dds テクスチャファイル(nGUI ビットマップフォント)を GIMP で開く、Load DDS 画面が開き OK ボタンでクリックして続行、GIMP で開いた GameUIAtlas.tex.dds ファイル、メニュー 画像 → キャンパスサイズの変更を選択、キャンパスサイズの変更画面でキャンパスサイズを幅 4096 高さ 4096 に変更してリサイズボタンをクリック、キャンパスサイズ幅 2048 高さ 1024 から幅 4096 高さ 4096 に変更後、Unity 4 の nGUI で作成してエクスポートした dds フォントファイル(2048x4096)をドラッグアンドドロップで追加、矩形選択モード状態で追加した画像(黄色点線枠)をキャンパス内右上隅または右下隅に位置をあわせる形で移動(キーボード矢印キー or Shift + 矢印キー)して配置、続けて Unity 4 の nGUI で作成してエクスポートしたもう一つの dds フォントファイル(2048x2048)をドラッグアンドドロップで追加、矩形選択モード状態で追加した画像(黄色点線枠)をキャンパス内左下隅に位置をあわせる形で移動(キーボード矢印キー or Shift + 矢印キー)して配置、複数あるレイヤーを一つのレイヤーに統合、メニュー レイヤー → 下のレイヤーと統合を選択

日本語ビットマップフォント画像の追加・配置が終わったら、複数あるレイヤーを一つのレイヤーに統合します。

メニュー レイヤー → 下のレイヤーと統合を選択します。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語フォント作成方法、画像編集処理ソフト GIMP でビットマップフォント合成、Shadowgate(2014)の assets ファイルからエクスポートした dds テクスチャファイル(nGUI ビットマップフォント)を GIMP で開く、Load DDS 画面が開き OK ボタンでクリックして続行、GIMP で開いた GameUIAtlas.tex.dds ファイル、メニュー 画像 → キャンパスサイズの変更を選択、キャンパスサイズの変更画面でキャンパスサイズを幅 4096 高さ 4096 に変更してリサイズボタンをクリック、キャンパスサイズ幅 2048 高さ 1024 から幅 4096 高さ 4096 に変更後、Unity 4 の nGUI で作成してエクスポートした dds フォントファイル(2048x4096)をドラッグアンドドロップで追加、矩形選択モード状態で追加した画像(黄色点線枠)をキャンパス内右上隅または右下隅に位置をあわせる形で移動(キーボード矢印キー or Shift + 矢印キー)して配置、続けて Unity 4 の nGUI で作成してエクスポートしたもう一つの dds フォントファイル(2048x2048)をドラッグアンドドロップで追加、矩形選択モード状態で追加した画像(黄色点線枠)をキャンパス内左下隅に位置をあわせる形で移動(キーボード矢印キー or Shift + 矢印キー)して配置、複数あるレイヤーを一つのレイヤーに統合、メニュー レイヤー → 下のレイヤーと統合を選択、再度メニュー レイヤー → 下のレイヤーと統合を選択

再度メニュー レイヤー → 下のレイヤーと統合を選択します。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語フォント作成方法、画像編集処理ソフト GIMP でビットマップフォント合成、Shadowgate(2014)の assets ファイルからエクスポートした dds テクスチャファイル(nGUI ビットマップフォント)を GIMP で開く、Load DDS 画面が開き OK ボタンでクリックして続行、GIMP で開いた GameUIAtlas.tex.dds ファイル、メニュー 画像 → キャンパスサイズの変更を選択、キャンパスサイズの変更画面でキャンパスサイズを幅 4096 高さ 4096 に変更してリサイズボタンをクリック、キャンパスサイズ幅 2048 高さ 1024 から幅 4096 高さ 4096 に変更後、Unity 4 の nGUI で作成してエクスポートした dds フォントファイル(2048x4096)をドラッグアンドドロップで追加、矩形選択モード状態で追加した画像(黄色点線枠)をキャンパス内右上隅または右下隅に位置をあわせる形で移動(キーボード矢印キー or Shift + 矢印キー)して配置、続けて Unity 4 の nGUI で作成してエクスポートしたもう一つの dds フォントファイル(2048x2048)をドラッグアンドドロップで追加、矩形選択モード状態で追加した画像(黄色点線枠)をキャンパス内左下隅に位置をあわせる形で移動(キーボード矢印キー or Shift + 矢印キー)して配置、複数あるレイヤーを一つのレイヤーに統合、メニュー レイヤー → 下のレイヤーと統合を選択、再度メニュー レイヤー → 下のレイヤーと統合を選択、一つのレイヤーに統合

3つあったレイヤーが一つのレイヤーに統合されました。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語フォント作成方法、画像編集処理ソフト GIMP でビットマップフォント合成、Shadowgate(2014)の assets ファイルからエクスポートした dds テクスチャファイル(nGUI ビットマップフォント)を GIMP で開く、Load DDS 画面が開き OK ボタンでクリックして続行、GIMP で開いた GameUIAtlas.tex.dds ファイル、メニュー 画像 → キャンパスサイズの変更を選択、キャンパスサイズの変更画面でキャンパスサイズを幅 4096 高さ 4096 に変更してリサイズボタンをクリック、キャンパスサイズ幅 2048 高さ 1024 から幅 4096 高さ 4096 に変更後、Unity 4 の nGUI で作成してエクスポートした dds フォントファイル(2048x4096)をドラッグアンドドロップで追加、矩形選択モード状態で追加した画像(黄色点線枠)をキャンパス内右上隅または右下隅に位置をあわせる形で移動(キーボード矢印キー or Shift + 矢印キー)して配置、続けて Unity 4 の nGUI で作成してエクスポートしたもう一つの dds フォントファイル(2048x2048)をドラッグアンドドロップで追加、矩形選択モード状態で追加した画像(黄色点線枠)をキャンパス内左下隅に位置をあわせる形で移動(キーボード矢印キー or Shift + 矢印キー)して配置、複数あるレイヤーを一つのレイヤーに統合、メニュー レイヤー → 下のレイヤーと統合を選択、再度メニュー レイヤー → 下のレイヤーと統合を選択、一つのレイヤーに統合後、メニュー ファイル → 名前を付けてエクスポートを選択

合成したビットマップフォントファイルを dds ファイルとして保存します。

メニュー ファイル → 名前を付けてエクスポートを選択します。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語フォント作成方法、画像編集処理ソフト GIMP でビットマップフォント合成、Shadowgate(2014)の assets ファイルからエクスポートした dds テクスチャファイル(nGUI ビットマップフォント)を GIMP で開く、Load DDS 画面が開き OK ボタンでクリックして続行、GIMP で開いた GameUIAtlas.tex.dds ファイル、メニュー 画像 → キャンパスサイズの変更を選択、キャンパスサイズの変更画面でキャンパスサイズを幅 4096 高さ 4096 に変更してリサイズボタンをクリック、キャンパスサイズ幅 2048 高さ 1024 から幅 4096 高さ 4096 に変更後、Unity 4 の nGUI で作成してエクスポートした dds フォントファイル(2048x4096)をドラッグアンドドロップで追加、矩形選択モード状態で追加した画像(黄色点線枠)をキャンパス内右上隅または右下隅に位置をあわせる形で移動(キーボード矢印キー or Shift + 矢印キー)して配置、続けて Unity 4 の nGUI で作成してエクスポートしたもう一つの dds フォントファイル(2048x2048)をドラッグアンドドロップで追加、矩形選択モード状態で追加した画像(黄色点線枠)をキャンパス内左下隅に位置をあわせる形で移動(キーボード矢印キー or Shift + 矢印キー)して配置、複数あるレイヤーを一つのレイヤーに統合、メニュー レイヤー → 下のレイヤーと統合を選択、再度メニュー レイヤー → 下のレイヤーと統合を選択、一つのレイヤーに統合後、メニュー ファイル → 名前を付けてエクスポートを選択、画像をエクスポート画面で名前をインポートした時のファイル名(ここでは GameUIAtlas.tex.dds)のままエクスポートボタンをクリック

画像をエクスポート画面で名前をインポートした時のファイル名(ここでは GameUIAtlas.tex.dds)のままエクスポートボタンをクリックします。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語フォント作成方法、画像編集処理ソフト GIMP でビットマップフォント合成、Shadowgate(2014)の assets ファイルからエクスポートした dds テクスチャファイル(nGUI ビットマップフォント)を GIMP で開く、Load DDS 画面が開き OK ボタンでクリックして続行、GIMP で開いた GameUIAtlas.tex.dds ファイル、メニュー 画像 → キャンパスサイズの変更を選択、キャンパスサイズの変更画面でキャンパスサイズを幅 4096 高さ 4096 に変更してリサイズボタンをクリック、キャンパスサイズ幅 2048 高さ 1024 から幅 4096 高さ 4096 に変更後、Unity 4 の nGUI で作成してエクスポートした dds フォントファイル(2048x4096)をドラッグアンドドロップで追加、矩形選択モード状態で追加した画像(黄色点線枠)をキャンパス内右上隅または右下隅に位置をあわせる形で移動(キーボード矢印キー or Shift + 矢印キー)して配置、続けて Unity 4 の nGUI で作成してエクスポートしたもう一つの dds フォントファイル(2048x2048)をドラッグアンドドロップで追加、矩形選択モード状態で追加した画像(黄色点線枠)をキャンパス内左下隅に位置をあわせる形で移動(キーボード矢印キー or Shift + 矢印キー)して配置、複数あるレイヤーを一つのレイヤーに統合、メニュー レイヤー → 下のレイヤーと統合を選択、再度メニュー レイヤー → 下のレイヤーと統合を選択、一つのレイヤーに統合後、メニュー ファイル → 名前を付けてエクスポートを選択、画像をエクスポート画面で名前をインポートした時のファイル名(ここでは GameUIAtlas.tex.dds)のままエクスポートボタンをクリック、Save as DDS 画面で Compression は None のまま(ほかの設定もデフォルト値のまま)OK ボタンをクリックして保存

Save as DDS 画面で Compression は None のまま(ほかの設定もデフォルト値のまま)OK ボタンをクリックして保存します。

この方法で保存したファイルは Shadowgate(2014)用日本語フォントサンプルファイル の dds ファイルと同じ内容になります。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語フォント作成方法、画像編集処理ソフト GIMP でビットマップフォント合成、Shadowgate(2014)の assets ファイルからエクスポートした dds テクスチャファイル(nGUI ビットマップフォント)を GIMP で開く、Load DDS 画面が開き OK ボタンでクリックして続行、GIMP で開いた GameUIAtlas.tex.dds ファイル、メニュー 画像 → キャンパスサイズの変更を選択、キャンパスサイズの変更画面でキャンパスサイズを幅 4096 高さ 4096 に変更してリサイズボタンをクリック、キャンパスサイズ幅 2048 高さ 1024 から幅 4096 高さ 4096 に変更後、Unity 4 の nGUI で作成してエクスポートした dds フォントファイル(2048x4096)をドラッグアンドドロップで追加、矩形選択モード状態で追加した画像(黄色点線枠)をキャンパス内右上隅または右下隅に位置をあわせる形で移動(キーボード矢印キー or Shift + 矢印キー)して配置、続けて Unity 4 の nGUI で作成してエクスポートしたもう一つの dds フォントファイル(2048x2048)をドラッグアンドドロップで追加、矩形選択モード状態で追加した画像(黄色点線枠)をキャンパス内左下隅に位置をあわせる形で移動(キーボード矢印キー or Shift + 矢印キー)して配置、複数あるレイヤーを一つのレイヤーに統合、メニュー レイヤー → 下のレイヤーと統合を選択、再度メニュー レイヤー → 下のレイヤーと統合を選択、一つのレイヤーに統合後、メニュー ファイル → 名前を付けてエクスポートを選択、画像をエクスポート画面で名前をインポートした時のファイル名(ここでは GameUIAtlas.tex.dds)のままエクスポートボタンをクリック、Save as DDS 画面で Compression は None のまま(ほかの設定もデフォルト値のまま)OK ボタンをクリックして保存、GIMP で保存した dds ファイルを UnityEX でインポートした場合、オリジナル Type の Texture2D id: 4 - RGBA32 から id: 5 - ARGB32 にフォーマットが変更

ちなみに GIMP で dds ファイルをエクスポートして保存(Compression - None)して UnityEX で dds ファイルをインポートした場合、オリジナル Type の Texture2D id: 4 - RGBA32 から id: 5 - ARGB32 にフォーマットが変更されます。

この状態でもフォント変更は確認できているので、テクスチャフォーマットがオリジナルから変更(id: 4 - RGBA32 → id: 5 - ARGB32)しても問題はなさそうです。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語フォント作成方法、画像編集処理ソフト GIMP でビットマップフォント合成、nGUI フォント合成方法のヒントになった Knights.of.Pen.and.Paper.CHS.Patch.v1.0.rar ファイル、Knights.of.Pen.and.Paper.CHS.Patch.v1.0.rar に含まれるアセットファイルを AssetStudio で開き nGUI フォントが使われている Texture2D の Interface ファイルプレビュー内容

今回この nGUI フォントの合成方法のヒントとなったのが、Knights of Pen and Paper +1 Edition の日本語化調査中に見つけた中文化 Mod です。

上の画像は Knights.of.Pen.and.Paper.CHS.Patch.v1.0.rar ファイルに含まれる Unity アセットファイルを AssetStudio で開き、nGUI フォントが使われている Texture2D の Interface ファイルプレビュー内容です。

Knights.of.Pen.and.Paper.CHS.Patch.v1.0.rar には exe ファイルしかありませんが、Universal Extractor 2 を使うことで中文化 Mod をインストールすることなく Unity ファイルを展開できます。

プレビュー画面左上にオリジナルの nGUI を残す形で(厳密には一部の画像文字アイコンも中文化に書き換え)、テクスチャ領域を拡張して文字を追加していることが確認できます。

解析ツールでは中文化 Mod の座標データ MonoBehaviour(UIFont)テキストファイルのエクスポートができなかったので内容は確認していませんがおそらく x, y 座標データも同じように左上の原点座標から調整しているものと思われます。

エクスポートした MonoBehaviour(UIFont)ファイルのデータ差し替え・座標データ修正作業

Shadowgate(2014)の assets ファイルからエクスポートした MonoBehaviour(UIFont)テキストファイル に、Unity 4 で nGUI フォントを作成してビルドした assets ファイル から エクスポートした MonoBehaviour(UIFont)テキストファイル のデータの一部を移植します。

さらに MonoBehaviour(UIFont)テキストファイルの座標データ(x または y 座標)の値を、GIMP で合成した日本語ビットマップフォント にあわせてすべて書き換えます。座標データの書き換え方法はこの後説明します。

座標データを書き換えた MonoBehaviour(UIFont)テキストファイルを PC ゲーム リメイク版 Shadowgate(2014) - UABE でエクスポートした MonoBehaviour(UIFont)テキストファイル - BMGlyph_data 座標データ調整+フォントサイズ調整済みテキストファイル(PC-Shadowgate2014-UABE-Export-BIZUDPMincho-Regular-Font-MonoBehaviour-UIFont-txt-fix-BMGlyph_data-20220412.7z) にまとめたので公開しておきます。

上記 7z ファイルに含まれている UABE_Font-Resize フォルダにはフォントサイズを調整した MonoBehaviour(UIFont)テキストファイルを格納しています。

一部の MonoBehaviour(UIFont)テキストファイルにある BMFont mFont にある int mSize の値を変更してフォントの大きさを調整しています。Shadowgate(2014)用日本語フォントサンプルファイル ではこちらで設定したフォントサイズを採用しています。

MonoBehaviour(UIFont)テキストファイルのインポート方法は UABE のエクスポート手順と同じで Import Dump から行います。

Import Dump 実行時の画面操作については 複数ファイルをインポートする場合はこちら を、単一ファイルをインポートする場合はこちら の内容を参考にしてください。

ちなみに、日本語サンプルファイル に含まれる MonoBehaviour(UIFont)ファイル(sharedassetsx_0000x.-2)は、UABE でインポートしたアセットファイルを UnityEX でエクスポートしたものです。これを配布用として UnityEX でインポートできるようにしています。

MonoBehaviour(UIFont)テキストファイルの座標データ書き換え方法についてはこちらで 秀丸エディタ 用マクロを作成しました。

PC ゲーム リメイク版 Shadowgate(2014) - UABE でエクスポートした MonoBehaviour(UIFont)テキストファイル BMGlyph_data 座標データ調整用秀丸マクロ(PC-Shadowgate2014-Hidemaru-Macro-UABE-Export-Dump-fix-BMGlyph_data-20220412.7z) として公開しておきます。マクロの中身についてはマクロファイル(.mac)内にコメント文を入れてあるのでそちらを確認してください。

このマクロはテキストファイルにある対象項目を検索・演算(足し算のみ)・置換をしているだけなのですが、書き換え対象が多いと処理に時間がかかります。ほかのプログラム言語(C# や Python など)で行えばもっと処理効率の良いプログラムができるかもしれません。

以下、マクロの使用方法です。マクロの設定方法については 秀丸エディタ マクロ言語(入門用)ヘルプにあるマクロの概要(入門用)マクロの登録と実行について を参照してください。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語フォント作成方法、エクスポートした MonoBehaviour(UIFont)ファイルのデータ差し替え・座標データ修正作業、秀丸マクロ実行時に表示されたエラーメッセージ「クリップボード履歴の格納に失敗し、タイムアウトしました。」、秀丸エディタの設定で「クリップボードの監視に新しい方式(Clipboard Format Listener)を使う」を ON(有効化)にすることで回避できる可能性があるというメッセージ内容

マクロを実行するための環境設定を行います。

私の PC 環境では何度かマクロを実行した際に「クリップボード履歴の格納に失敗し、タイムアウトしました。~」というエラーメッセージが表示されました。

エラーメッセージの中に秀丸エディタの設定で「クリップボードの監視に新しい方式(Clipboard Format Listener)を使う」を ON(有効化)することで回避できる可能性がある、というメッセージ内容があったのでその設定を行います。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語フォント作成方法、エクスポートした MonoBehaviour(UIFont)ファイルのデータ差し替え・座標データ修正作業、秀丸マクロ実行時に表示されたエラーメッセージ「クリップボード履歴の格納に失敗し、タイムアウトしました。」、秀丸エディタの設定で「クリップボードの監視に新しい方式(Clipboard Format Listener)を使う」を ON(有効化)にすることで回避できる可能性があるというメッセージ内容、秀丸エディタのメニュー その他 → 動作環境 → 「トラブル対策」の中にある「その他のトラブル対策」ボタンをクリック

秀丸エディタのメニュー その他 → 動作環境 → 「トラブル対策」の中にある「その他のトラブル対策」ボタンをクリックします。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語フォント作成方法、エクスポートした MonoBehaviour(UIFont)ファイルのデータ差し替え・座標データ修正作業、秀丸マクロ実行時に表示されたエラーメッセージ「クリップボード履歴の格納に失敗し、タイムアウトしました。」、秀丸エディタの設定で「クリップボードの監視に新しい方式(Clipboard Format Listener)を使う」を ON(有効化)にすることで回避できる可能性があるというメッセージ内容、秀丸エディタのメニュー その他 → 動作環境 → 「トラブル対策」の中にある「その他のトラブル対策」ボタンをクリック、「クリップボードの監視に新しい方式(Clipboard Format Listener)を使う」にチェックマークを入れて有効化(OFF → ON 表示に切り替え)

「クリップボードの監視に新しい方式(Clipboard Format Listener)を使う」にチェックマークを入れて有効化(OFF → ON 表示に切り替え)します。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語フォント作成方法、エクスポートした MonoBehaviour(UIFont)ファイルのデータ差し替え・座標データ修正作業、nGUI フォント作成後 Unity 4 でビルドして生成された sharedassets0.assets ファイルから UABE でエクスポートした MonoBehaviour(UIFont)テキストファイルを秀丸エディタで開き、BMFont mFont 内の各 BMGlyph data にある座標数値(int x = 、int y = )を GIMP で dds フォントファイル合成時に原点座標(左上隅)から離れて配置した座標分の値を増やして調整、縦座標(y 座標)の変更はなく横座標(x 座標)が原点から離れている場合は int x = ~ の座標値を、横座標(x 座標)の変更はなく縦座標(y 座標)が原点から離れている場合は int y = ~ の座標値をマクロで一律同じ数値で加算

MonoBehaviour(UIFont)テキストファイルの x 座標データ修正方法について。

UABE からエクスポートした MonoBehaviour(UIFont)テキストファイルをテキストエディタで開き、BMFont mFont 内の各 BMGlyph data にある座標数値(int x = int y = )を GIMP で dds フォントファイル合成 時に原点座標(左上隅)から離れて配置した座標分の値に増やして調整します。

縦座標(y 座標)の変更はなく横座標(x 座標)が原点から離れている場合は int x = ~ の座標値をマクロで一律同じ数値で加算して調整します。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語フォント作成方法、エクスポートした MonoBehaviour(UIFont)ファイルのデータ差し替え・座標データ修正作業、nGUI フォント作成後 Unity 4 でビルドして生成された sharedassets0.assets ファイルから UABE でエクスポートした MonoBehaviour(UIFont)テキストファイルを秀丸エディタで開き、BMFont mFont 内の各 BMGlyph data にある座標数値(int x = 、int y = )を GIMP で dds フォントファイル合成時に原点座標(左上隅)から離れて配置した座標分の値を増やして調整、縦座標(y 座標)の変更はなく横座標(x 座標)が原点から離れている場合は int x = ~ の座標値を、横座標(x 座標)の変更はなく縦座標(y 座標)が原点から離れている場合は int y = ~ の座標値をマクロで一律同じ数値で加算、「クリップボードの監視に新しい方式(Clipboard Format Listener)を使う」にチェックマークを入れて有効化後、座標値加算用マクロを実行して最初のダイアログ画面では調整する座標値がある行の直前の文字列を検索(検索文字列:int x = )

マクロ(Shadowgate2014-UABE-Export-Dump-fix-BMGlyph_data.mac) を実行すると最初のダイアログ画面では調整する座標値がある行の直前の文字列を検索します。キャンセルボタンをクリックすると終了します。

ここでは検索文字列に int x = を入力しています。= の前後に空白の半角スペースを入れます。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語フォント作成方法、エクスポートした MonoBehaviour(UIFont)ファイルのデータ差し替え・座標データ修正作業、nGUI フォント作成後 Unity 4 でビルドして生成された sharedassets0.assets ファイルから UABE でエクスポートした MonoBehaviour(UIFont)テキストファイルを秀丸エディタで開き、BMFont mFont 内の各 BMGlyph data にある座標数値(int x = 、int y = )を GIMP で dds フォントファイル合成時に原点座標(左上隅)から離れて配置した座標分の値を増やして調整、縦座標(y 座標)の変更はなく横座標(x 座標)が原点から離れている場合は int x = ~ の座標値を、横座標(x 座標)の変更はなく縦座標(y 座標)が原点から離れている場合は int y = ~ の座標値をマクロで一律同じ数値で加算、「クリップボードの監視に新しい方式(Clipboard Format Listener)を使う」にチェックマークを入れて有効化後、座標値加算用マクロを実行して最初のダイアログ画面では調整する座標値がある行の直前の文字列を検索(検索文字列:int x = )、2番目のダイアログ画面では検索文字列以降にある数字文字列に加算したい x 座標数値を入力(この MonoBehaviour(UIFont)テキストファイルでは 2048)、これで int x = ~ の数値すべてにマクロによってダイアログ画面で入力した数値が加算されて座標値が修正

2番目画面のダイアログでは検索文字列以降にある数字文字列に、加算したい x 座標数値を入力します。キャンセルボタンをクリックするとマクロは終了します。

この MonoBehaviour(UIFont)テキストファイルでは 2048 を入力しています。(今回の日本語ビットマップフォントの例では x 座標はいずれも原点座標から 2048 離れた位置に配置しているので、2048 以外の数値は使っていません)

OK ボタンをクリックすると処理速度アップのため 秀丸エディタ が最小化してマクロ処理を続行します。プログレスバーなどの処理中であることがわかる画面などは表示されません。

今回の BMFont(Bitmap Font Generator)で設定した文字数は 3,480文字 のため、マクロでは 3,480個所の x 座標を修正します。マクロの処理時間は正確には計測していませんが、処理が完了するまでおよそ 3~4 分(5分以内)ほどかかります。

これで int x = ~ の数値すべてに、マクロによってダイアログ画面で入力した数値が加算されて座標値がすべて修正されます。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語フォント作成方法、エクスポートした MonoBehaviour(UIFont)ファイルのデータ差し替え・座標データ修正作業、nGUI フォント作成後 Unity 4 でビルドして生成された sharedassets0.assets ファイルから UABE でエクスポートした MonoBehaviour(UIFont)テキストファイルを秀丸エディタで開き、BMFont mFont 内の各 BMGlyph data にある座標数値(int x = 、int y = )を GIMP で dds フォントファイル合成時に原点座標(左上隅)から離れて配置した座標分の値を増やして調整、横座標(x 座標)の変更はなく縦座標(y 座標)が原点から離れている場合は int y = ~ の座標値をマクロで一律同じ数値で加算

MonoBehaviour(UIFont)テキストファイルの y 座標データ修正方法について。以下、内容は x 座標データ修正方法と同じです。

MonoBehaviour(UIFont)テキストファイルをテキストエディタで開き、BMFont mFont 内の各 BMGlyph data にある座標数値(int x = int y = )を GIMP で dds フォントファイル合成 時に原点座標(左上隅)から離れて配置した座標分の値に増やして調整します。

横座標(x 座標)の変更はなく縦座標(y 座標)が原点から離れている場合は int y = ~ の座標値をマクロで一律同じ数値で加算して調整します。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語フォント作成方法、エクスポートした MonoBehaviour(UIFont)ファイルのデータ差し替え・座標データ修正作業、MonoBehaviour(UIFont)テキストファイルを秀丸エディタで開き、BMFont mFont 内の各 BMGlyph data にある座標数値(int x = 、int y = )を GIMP で dds フォントファイル合成時に原点座標(左上隅)から離れて配置した座標分の値を増やして調整、横座標(x 座標)の変更はなく縦座標(y 座標)が原点から離れている場合は int y = ~ の座標値をマクロで一律同じ数値で加算、「クリップボードの監視に新しい方式(Clipboard Format Listener)を使う」にチェックマークを入れて有効化後、座標値加算用マクロを実行して最初のダイアログ画面では調整するでは座標値がある行の直前の文字列を検索(検索文字列:int y = )

マクロ(Shadowgate2014-UABE-Export-Dump-fix-BMGlyph_data.mac) を実行すると最初のダイアログ画面では調整する座標値がある行の直前の文字列を検索します。キャンセルボタンをクリックすると終了します。

ここでは検索文字列に int y = を入力しています。= の前後に空白の半角スペースを入れます。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)日本語フォント作成方法、エクスポートした MonoBehaviour(UIFont)ファイルのデータ差し替え・座標データ修正作業、MonoBehaviour(UIFont)テキストファイルを秀丸エディタで開き、BMFont mFont 内の各 BMGlyph data にある座標数値(int x = 、int y = )を GIMP で dds フォントファイル合成時に原点座標から離れて配置した座標分の値を増やして調整、横座標(x 座標)の変更はなく縦座標(y 座標)が原点から離れている場合は int y = ~ の座標値をマクロで一律同じ数値で加算、「クリップボードの監視に新しい方式(Clipboard Format Listener)を使う」にチェックマークを入れて有効化後、座標値加算用マクロを実行して最初のダイアログ画面では調整するでは座標値がある行の直前の文字列を検索(検索文字列:int y = )、2番目のダイアログ画面では検索文字列以降にある数字文字列に加算したい y 座標数値を入力(この MonoBehaviour(UIFont)テキストファイルでは 2048)、これで int y = ~ の数値すべてにマクロによってダイアログ画面で入力した数値が加算されて座標値が修正

2番目画面のダイアログでは検索文字列以降にある数字文字列に、加算したい y 座標数値を入力します。キャンセルボタンをクリックするとマクロは終了します。

この MonoBehaviour(UIFont)テキストファイルでは 2048 を入力しています。(今回の日本語ビットマップフォントの例では y 座標はいずれも原点座標から 2048 離れた位置に配置しているので、2048 以外の数値は使っていません)

OK ボタンをクリックすると処理速度アップのため 秀丸エディタ が最小化してマクロ処理を続行します。プログレスバーなどの処理中であることがわかる画面などは表示されません。

今回の BMFont(Bitmap Font Generator)で設定した文字数は 3,480文字 のため、マクロでは 3,480個所の x 座標を修正します。マクロの処理時間は正確には計測していませんが、処理が完了するまでおよそ 3~4 分(5分以内)ほどかかります。

これで int y = ~ の数値すべてに、マクロによってダイアログ画面で入力した数値が加算されて座標値がすべて修正されます。

以下、今回の 秀丸エディタ のマクロ作成で、テキストファイルにある対象項目を検索・演算・置換処理をマクロで一通り動作させるために参考にしたサイト一覧です。

PC ゲーム リメイク版 Shadowgate(2014)言語ファイル編集方法

PC ゲーム リメイク版 Shadowgate(2014) のゲーム内に表示される字幕・テキストを編集する方法です。

2015年に 有志によって日本語化されたゲーム 14 スレ にて言及されていますが、Shadowgate(2014) では言語ファイルがテキストファイルで assets ファイルに格納されており、Base64 で暗号化されていることが判明しています。

そのまま複合化してもテキストに変換できずに、以降解析が進展することはなかったようです。

2014年に Zone of Games Forum の Shadowgate ロシア語化スレにある Haoose 氏のコメント に複合化ツールと思われるファイルがすでに公開されていましたが、こちらはダウンロードすることはできませんでした。

これ以上ヒントとなる情報はなくダメもとでこちらで解析してみたところ、dll ファイルを dnSpy でデコンパイルした結果、複合化・暗号化と思われるプログラム部分を発見 し、その処理を CyberChef で変換できるように構築することができました。

以下、Base64 テキストファイルの複合化・暗号化のやり方を説明します。

言語テキストファイル(Base64)エクスポート

PC ゲーム リメイク版 Shadowgate(2014) の assets ファイルから言語テキストファイル(Base64)をエクスポートする方法です。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)言語ファイル編集方法、言語テキストファイル(Base64)エクスポート、ゲームインストール先 Shadowgate_Data フォルダにある resources.assets ファイルを UnityEX で開く

Shadowgate(2014) ゲームインストール先 Shadowgate_Data フォルダにある resources.assets ファイルを UnityEX で開きます。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)言語ファイル編集方法、言語テキストファイル(Base64)エクスポート、ゲームインストール先 Shadowgate_Data フォルダにある resources.assets ファイルを UnityEX で開き、#99 ~ #176 にある txt を選択して右クリックで Export with convert or Raw を選択して txt ファイルをエクスポート

#99 ~ #176 にある txt ファイルを選択して、右クリックから Export with convert or Raw を選択して txt ファイルをエクスポートします。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)言語ファイル編集方法、言語テキストファイル(Base64)エクスポート、ゲームインストール先 Shadowgate_Data フォルダにある resources.assets ファイルを UnityEX で開き、#99 ~ #176 にある txt を選択して右クリックで Export with convert or Raw を選択して txt ファイルをエクスポート、Shadowgate_Data\Unity_Assets_Files\resources フォルダにエクスポートされた言語テキストファイル(Base64)、テキストファイル数 78

Shadowgate_Data\Unity_Assets_Files\resources フォルダにエクスポートされた言語テキストファイル(Base64)です。テキストファイル数は全部で 78 ファイルあります。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)言語ファイル編集方法、言語テキストファイル(Base64)エクスポート、ゲームインストール先 Shadowgate_Data フォルダに UnityEX.exe と bat ファイルを配置して、bat ファイルを実行することで resources.assets ファイルにある txt ファイルのエクスポートが可能

ちなみにゲームインストール先 Shadowgate_Data フォルダに UnityEX.exe と bat ファイルを配置して、bat ファイルに以下のバッチスクリプトを実行することでも、resources.assets ファイルにある txt ファイルのエクスポートが可能です。

PC ゲーム リメイク版 Shadowgate(2014)言語テキストファイル(Base64)エクスポートバッチスクリプト
UnityEX.exe export resources.assets -t txt
pause

CyberChef で言語テキストファイル Base64 デコード → AES 複合化

resources.assets ファイルからエクスポートした言語テキストファイル(Base64) を複合化する方法です。

CyberChef を使いますので、基本的な使い方については 入門ハンズオン CyberChef を参照してください。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)言語ファイル編集方法、CyberChef で言語テキストファイル Base64 デコード → AES 複合化、Shadowgate_Data フォルダにある resources.assets ファイルから UnityEX を使ってエクスポートした txt ファイル(Base64)を複合化するため CyberChef を利用、CyberChef の Load recipe からダウンロードした複合化用 Recipe 内容をロードするか Recipe URL を開く

こちらで作成・用意した PC ゲーム リメイク版 Shadowgate(2014) - 言語テキストファイル(Base64 + AES 暗号)複合化用 CyberChef Recipe ファイル(PC-Shadowgate2014-CyberChef-resources_assets-language-txt-Base64-Decode-AES-Decrypt-recipe-20220412.7z) をダウンロードして展開・解凍します。

ダウンロードしたファイルの URL.txt ファイルにあるリンクからブラウザで CyberChef を開くか、CHEF FORMAT.txt・CLEAN JSON.txt・COMPACT JSON.txt ファイルのいずれかのテキストファイルを開き内容をコピーして、CyberChef の Load recipe へ貼り付けて LOAD ボタンをクリックします。

上記画像中央の Recipe 列にこちらであらかじめ作成した Recipe が表示されていることを確認します。

AES Decrypt の Key のみダミーを入力しているため、そのままでは複合化できません。次に紹介する解析ツールで AES の Key を取得してください。(AES Decrypt の IV は不要のため空欄のまま)

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)言語ファイル編集方法、CyberChef で言語テキストファイル Base64 デコード → AES 複合化、Shadowgate_Data フォルダにある resources.assets ファイルから UnityEX を使ってエクスポートした txt ファイル(Base64)を複合化するため CyberChef を利用、CyberChef の Load recipe からダウンロードした複合化用 Recipe 内容をロードするか Recipe URL を開く、AES Decrypt の Key にはダミーの文字列のままのため、Shadowgate(2014)から AES の Key を取得(IV は不要)、Shadowgate_Data\Managed フォルダにある PAC.dll ファイルを dnSpy で開く

Shadowgate_Data\Managed フォルダにある PAC.dll ファイルを dnSpy で開きます。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)言語ファイル編集方法、CyberChef で言語テキストファイル Base64 デコード → AES 複合化、Shadowgate_Data フォルダにある resources.assets ファイルから UnityEX を使ってエクスポートした txt ファイル(Base64)を複合化するため CyberChef を利用、CyberChef の Load recipe からダウンロードした複合化用 Recipe 内容をロードするか Recipe URL を開く、AES Decrypt の Key にはダミーの文字列のままのため、Shadowgate(2014)から AES の Key を取得(IV は不要)、Shadowgate_Data\Managed フォルダにある PAC.dll ファイルを dnSpy で開く、namespace PAC.GameData.Crypto の class Key を開き、string _256 の return ダブルクォーテーション内にある 32文字をコピー

namespace PAC.GameData.Crypto の class Key を開き、string _256 の return ダブルクォーテーション内にある 32文字をコピーします。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)言語ファイル編集方法、CyberChef で言語テキストファイル Base64 デコード → AES 複合化、Shadowgate_Data フォルダにある resources.assets ファイルから UnityEX を使ってエクスポートした txt ファイル(Base64)を複合化するため CyberChef を利用、CyberChef の Load recipe からダウンロードした複合化用 Recipe 内容をロードするか Recipe URL を開く、AES Decrypt の Key にはダミーの文字列のままのため、Shadowgate(2014)から AES の Key を取得(IV は不要)、Shadowgate_Data\Managed フォルダにある PAC.dll ファイルを dnSpy で開く、namespace PAC.GameData.Crypto の class Key を開き、string _256 の return ダブルクォーテーション内にある 32文字をコピー、CyberChef の AES Decrypt の Key に dnSpy を使って開いた PAC.dll の namespace PAC.GameData.Crypto → class Key → string _256 の return ダブルクォーテーション内にある 32文字に書き換え(IV は空欄のまま)

CyberChef の Recipe にある AES Decrypt の Key に、dnSpy でコピーした 32文字を貼り付けて入力します。(上の画像では加工して塗りつぶしているので以後 Key 欄は非表示)

なお、CyberChef で暗号化 するときにも同じ Key を使用します。

これで Base64 テキストファイルを複合化する準備が整いました。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)言語ファイル編集方法、CyberChef で言語テキストファイル Base64 デコード → AES 複合化、Shadowgate_Data フォルダにある resources.assets ファイルから UnityEX を使ってエクスポートした txt ファイル(Base64)を複合化するため CyberChef を利用、CyberChef の Load recipe からダウンロードした複合化用 Recipe 内容をロードするか Recipe URL を開く、AES Decrypt の Key にはダミーの文字列のままのため、Shadowgate(2014)から AES の Key を取得(IV は不要)、Shadowgate_Data\Managed フォルダにある PAC.dll ファイルを dnSpy で開く、namespace PAC.GameData.Crypto の class Key を開き、string _256 の return ダブルクォーテーション内にある 32文字をコピー、CyberChef の AES Decrypt の Key に dnSpy を使って開いた PAC.dll の namespace PAC.GameData.Crypto → class Key → string _256 の return ダブルクォーテーション内にある 32文字に書き換え(IV は空欄のまま)、CyberChef の Input にある Open folder as input をクリックして Shadowgate_Data フォルダにある resources.assets ファイルからエクスポートした txt ファイル(Base64) 78ファイルを含むフォルダを指定してまとめてアップロード(個別にファイルをアップロードしたい場合は Opne file as input でファイルを手動で選択)

CyberChef の Input にある Open folder as input をクリックします。

resources.assets ファイルからエクスポートした言語テキストファイル(Base64) 78ファイルを含むフォルダを指定して、Base64 テキストファイルをまとめてアップロードします。

ファイルを個別にアップロードしたい場合は Opne file as input からファイルを手動で選択してアップロードします。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)言語ファイル編集方法、CyberChef で言語テキストファイル Base64 デコード → AES 複合化、Shadowgate_Data フォルダにある resources.assets ファイルから UnityEX を使ってエクスポートした txt ファイル(Base64)を複合化するため CyberChef を利用、CyberChef の Load recipe からダウンロードした複合化用 Recipe 内容をロードするか Recipe URL を開く、AES Decrypt の Key にはダミーの文字列のままのため、Shadowgate(2014)から AES の Key を取得(IV は不要)、Shadowgate_Data\Managed フォルダにある PAC.dll ファイルを dnSpy で開く、namespace PAC.GameData.Crypto の class Key を開き、string _256 の return ダブルクォーテーション内にある 32文字をコピー、CyberChef の AES Decrypt の Key に dnSpy を使って開いた PAC.dll の namespace PAC.GameData.Crypto → class Key → string _256 の return ダブルクォーテーション内にある 32文字に書き換え(IV は空欄のまま)、CyberChef の Input にある Open folder as input をクリックして Shadowgate_Data フォルダにある resources.assets ファイルからエクスポートした txt ファイル(Base64) 78ファイルを含むフォルダを指定してまとめてアップロード(個別にファイルをアップロードしたい場合は Opne file as input でファイルを手動で選択)、78ファイルの Base64 テキストファイル(Base64)アップロード後、アルファベット順で先頭の Base64 テキストファイルのみ複合化完了、残りのファイルはそのままのため STEP にある BAKE ボタンをクリックしてすべてのファイルを複合化

Base64 テキストファイルアップロード後、Output にアップロードした Base64 テキストファイルがタブ化された状態で表示されます。

Output タブにはアップロードしたファイルがアルファベット順で並び、アップロードした時点で先頭のテキストファイルのみ複合化が完了します。

残りのファイルはアップロード時のままなため、STEP にある BAKE ボタンをクリックしてすべての Base64 テキストファイルを複合化します。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)言語ファイル編集方法、CyberChef で言語テキストファイル Base64 デコード → AES 複合化、Shadowgate_Data フォルダにある resources.assets ファイルから UnityEX を使ってエクスポートした txt ファイル(Base64)を複合化するため CyberChef を利用、CyberChef の Load recipe からダウンロードした複合化用 Recipe 内容をロードするか Recipe URL を開く、AES Decrypt の Key にはダミーの文字列のままのため、Shadowgate(2014)から AES の Key を取得(IV は不要)、Shadowgate_Data\Managed フォルダにある PAC.dll ファイルを dnSpy で開く、namespace PAC.GameData.Crypto の class Key を開き、string _256 の return ダブルクォーテーション内にある 32文字をコピー、CyberChef の AES Decrypt の Key に dnSpy を使って開いた PAC.dll の namespace PAC.GameData.Crypto → class Key → string _256 の return ダブルクォーテーション内にある 32文字に書き換え(IV は空欄のまま)、CyberChef の Input にある Open folder as input をクリックして Shadowgate_Data フォルダにある resources.assets ファイルからエクスポートした txt ファイル(Base64) 78ファイルを含むフォルダを指定してまとめてアップロード(個別にファイルをアップロードしたい場合は Opne file as input でファイルを手動で選択)、78ファイルのテキストファイル(Base64)アップロード後、アルファベット順で先頭の Base64 テキストファイルのみ複合化完了、残りのファイルはそのままのため STEP にある BAKE ボタンをクリックしてすべてのファイルを複合化、すべての Base64 テキストファイル複合化後、Output にある Save all outpus to a zip file で複合化したファイルを zip でダウンロード(ファイル単体でダウンロードしたい場合は Save output to file でダウンロード)

すべての Base64 テキストファイル複合化後、Output にある Save all outpus to a zip file で複合化したファイルを zip でダウンロードします。

ファイル単体でダウンロードしたい場合は Output にある Save output to file でダウンロードできます。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)言語ファイル編集方法、CyberChef で言語テキストファイル Base64 デコード → AES 複合化、Shadowgate_Data フォルダにある resources.assets ファイルから UnityEX を使ってエクスポートした txt ファイル(Base64)を複合化するため CyberChef を利用、CyberChef の Load recipe からダウンロードした複合化用 Recipe 内容をロードするか Recipe URL を開く、AES Decrypt の Key にはダミーの文字列のままのため、Shadowgate(2014)から AES の Key を取得(IV は不要)、Shadowgate_Data\Managed フォルダにある PAC.dll ファイルを dnSpy で開く、namespace PAC.GameData.Crypto の class Key を開き、string _256 の return ダブルクォーテーション内にある 32文字をコピー、CyberChef の AES Decrypt の Key に dnSpy を使って開いた PAC.dll の namespace PAC.GameData.Crypto → class Key → string _256 の return ダブルクォーテーション内にある 32文字に書き換え(IV は空欄のまま)、CyberChef の Input にある Open folder as input をクリックして Shadowgate_Data フォルダにある resources.assets ファイルからエクスポートした txt ファイル(Base64) 78ファイルを含むフォルダを指定してまとめてアップロード(個別にファイルをアップロードしたい場合は Opne file as input でファイルを手動で選択)、78ファイルのテキストファイル(Base64)アップロード後、アルファベット順で先頭の Base64 テキストファイルのみ複合化完了、残りのファイルはそのままのため STEP にある BAKE ボタンをクリックしてすべてのファイルを複合化、すべての Base64 テキストファイル複合化後、Output にある Save all outpus to a zip file で複合化したファイルを zip でダウンロード(ファイル単体でダウンロードしたい場合は Save output to file でダウンロード)、「Please enter a filename:」と表示されるので download.zip のまま OK ボタンをクリック(zip ファイル名は任意に変更可)

「Please enter a filename:」と表示されるので download.zip のまま OK ボタンをクリックします。zip ファイル名は任意で変更可能です。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)言語ファイル編集方法、CyberChef で言語テキストファイル Base64 デコード → AES 複合化、Shadowgate_Data フォルダにある resources.assets ファイルから UnityEX を使ってエクスポートした txt ファイル(Base64)を複合化するため CyberChef を利用、CyberChef の Load recipe からダウンロードした複合化用 Recipe 内容をロードするか Recipe URL を開く、AES Decrypt の Key にはダミーの文字列のままのため、Shadowgate(2014)から AES の Key を取得(IV は不要)、Shadowgate_Data\Managed フォルダにある PAC.dll ファイルを dnSpy で開く、namespace PAC.GameData.Crypto の class Key を開き、string _256 の return ダブルクォーテーション内にある 32文字をコピー、CyberChef の AES Decrypt の Key に dnSpy を使って開いた PAC.dll の namespace PAC.GameData.Crypto → class Key → string _256 の return ダブルクォーテーション内にある 32文字に書き換え(IV は空欄のまま)、CyberChef の Input にある Open folder as input をクリックして Shadowgate_Data フォルダにある resources.assets ファイルからエクスポートした txt ファイル(Base64) 78ファイルを含むフォルダを指定してまとめてアップロード(個別にファイルをアップロードしたい場合は Opne file as input でファイルを手動で選択)、78ファイルのテキストファイル(Base64)アップロード後、アルファベット順で先頭の Base64 テキストファイルのみ複合化完了、残りのファイルはそのままのため STEP にある BAKE ボタンをクリックしてすべてのファイルを複合化、すべての Base64 テキストファイル複合化後、Output にある Save all outpus to a zip file で複合化したファイルを zip でダウンロード(ファイル単体でダウンロードしたい場合は Save output to file でダウンロード)、Please enter a filename と表示されるので download.zip のまま OK ボタンをクリック(zip ファイル名は任意に変更可)、「Please enter a file extension for the files, or leave blank to detect automatically.」と表示されるので拡張子の「.txt」を入力して OK ボタンをクリック後 zip ファイルがダウンロード開始

次に「Please enter a file extension for the files, or leave blank to detect automatically.」と表示されるので、拡張子の「.txt」を入力して OK ボタンをクリック、zip ファイルのダウンロードが開始します。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)言語ファイル編集方法、CyberChef で言語テキストファイル Base64 デコード → AES 複合化、Shadowgate_Data フォルダにある resources.assets ファイルから UnityEX を使ってエクスポートした txt ファイル(Base64)を複合化するため CyberChef を利用、CyberChef の Load recipe からダウンロードした複合化用 Recipe 内容をロードするか Recipe URL を開く、AES Decrypt の Key にはダミーの文字列のままのため、Shadowgate(2014)から AES の Key を取得(IV は不要)、Shadowgate_Data\Managed フォルダにある PAC.dll ファイルを dnSpy で開く、namespace PAC.GameData.Crypto の class Key を開き、string _256 の return ダブルクォーテーション内にある 32文字をコピー、CyberChef の AES Decrypt の Key に dnSpy を使って開いた PAC.dll の namespace PAC.GameData.Crypto → class Key → string _256 の return ダブルクォーテーション内にある 32文字に書き換え(IV は空欄のまま)、CyberChef の Input にある Open folder as input をクリックして Shadowgate_Data フォルダにある resources.assets ファイルからエクスポートした txt ファイル(Base64) 78ファイルを含むフォルダを指定してまとめてアップロード(個別にファイルをアップロードしたい場合は Opne file as input でファイルを手動で選択)、78ファイルのテキストファイル(Base64)アップロード後、アルファベット順で先頭の Base64 テキストファイルのみ複合化完了、残りのファイルはそのままのため STEP にある BAKE ボタンをクリックしてすべてのファイルを複合化、すべての Base64 テキストファイル複合化後、Output にある Save all outpus to a zip file で複合化したファイルを zip でダウンロード(ファイル単体でダウンロードしたい場合は Save output to file でダウンロード)、Please enter a filename と表示されるので download.zip のまま OK ボタンをクリック(zip ファイル名は任意に変更可)、「Please enter a file extension for the files, or leave blank to detect automatically.」と表示されるので拡張子の「.txt」を入力して OK ボタンをクリック後 zip ファイルがダウンロード開始、ダウンロードした zip ファイルを展開・解凍して 1.txt ~ 78.txt ファイルまであるのを確認(ファイル番号がずれていた場合は CyberChef の Recipe ページをリロードしてもう一度同じ手順で Base64 テキストファイルの複合化を行う)、ファイルリネーム用 bat ファイルを配置して実行

ダウンロードした zip ファイルを展開・解凍して 1.txt ~ 78.txt ファイルまであるのを確認します。

ファイル番号がずれていた場合は CyberChef の Recipe ページをリロードして、もう一度同じ手順で Base64 テキストファイルの複合化を行います。

ダウンロードしたテキストファイル(1.txt ~ 78.txt)を元のファイル名にリネーム(名前変更)します。以下、リネーム用バッチスクリプトを用意したのでフォルダ内に配置して実行します。

リネームしたテキストファイルは 暗号化後のリネームおよび assets ファイルへインポート するときに必要になります。

PC ゲーム リメイク版 Shadowgate(2014) - CyberChef 複合化・暗号化テキストファイルリネーム用バッチスクリプト
ren 1.txt Achievements.txt
ren 2.txt ChecklistCollection.txt
ren 3.txt CreditsText.txt
ren 4.txt Cutscene1.txt
ren 5.txt Cutscene10.txt
ren 6.txt Cutscene2.txt
ren 7.txt Cutscene3o.txt
ren 8.txt Cutscene3p.txt
ren 9.txt Cutscene4.txt
ren 10.txt Cutscene5.txt
ren 11.txt Cutscene6.txt
ren 12.txt Cutscene6o.txt
ren 13.txt Cutscene7.txt
ren 14.txt Cutscene8.txt
ren 15.txt Cutscene9.txt
ren 16.txt CutsceneBeyondPromo.txt
ren 17.txt CutsceneCredits.txt
ren 18.txt CutsceneGenericDeath1.txt
ren 19.txt CutsceneGenericDeath2.txt
ren 20.txt CutsceneGenericDeath3.txt
ren 21.txt CutsceneGenericDeath4.txt
ren 22.txt CutsceneGenericDeath5.txt
ren 23.txt CutsceneGenericDeath6.txt
ren 24.txt CutsceneHiddenDeath1.txt
ren 25.txt CutsceneHiddenDeath10.txt
ren 26.txt CutsceneHiddenDeath2.txt
ren 27.txt CutsceneHiddenDeath3.txt
ren 28.txt CutsceneHiddenDeath4.txt
ren 29.txt CutsceneHiddenDeath5.txt
ren 30.txt CutsceneHiddenDeath6.txt
ren 31.txt CutsceneHiddenDeath7.txt
ren 32.txt CutsceneHiddenDeath8.txt
ren 33.txt CutsceneHiddenDeath9.txt
ren 34.txt DefaultStrings.txt
ren 35.txt FunctionCollection.txt
ren 36.txt FunctionCollection_00001.txt
ren 37.txt FunctionCollection_00002.txt
ren 38.txt FunctionCollection_00003.txt
ren 39.txt FunctionCollection_00004.txt
ren 40.txt GameStats.txt
ren 41.txt GlobalStates.txt
ren 42.txt GlobalStates_00001.txt
ren 43.txt GlobalStates_00002.txt
ren 44.txt GlobalStates_00003.txt
ren 45.txt GlobalStates_00004.txt
ren 46.txt HelpText.txt
ren 47.txt HintCollection.txt
ren 48.txt HintCollection_00001.txt
ren 49.txt HintCollection_00002.txt
ren 50.txt HintCollection_00003.txt
ren 51.txt ItemCollection.txt
ren 52.txt ItemCollection_00001.txt
ren 53.txt ItemCollection_00002.txt
ren 54.txt ItemCollection_00003.txt
ren 55.txt ItemCollection_00004.txt
ren 56.txt ItemInstances.txt
ren 57.txt ItemInstances_00001.txt
ren 58.txt ItemInstances_00002.txt
ren 59.txt ItemInstances_00003.txt
ren 60.txt ItemInstances_00004.txt
ren 61.txt Menus.txt
ren 62.txt Misc.txt
ren 63.txt RoomCollection.txt
ren 64.txt RoomCollection_00001.txt
ren 65.txt RoomCollection_00002.txt
ren 66.txt RoomCollection_00003.txt
ren 67.txt RoomCollection_00004.txt
ren 68.txt SceneData.txt
ren 69.txt SceneData_00001.txt
ren 70.txt SceneData_00002.txt
ren 71.txt SceneData_00003.txt
ren 72.txt SceneData_00004.txt
ren 73.txt SecretDevInfo.txt
ren 74.txt Settings.txt
ren 75.txt Sounds.txt
ren 76.txt Tips.txt
ren 77.txt Transitions.txt
ren 78.txt UserInterface.txt
pause
PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)言語ファイル編集方法、CyberChef で言語テキストファイル Base64 デコード → AES 複合化、Shadowgate_Data フォルダにある resources.assets ファイルから UnityEX を使ってエクスポートした txt ファイル(Base64)を複合化するため CyberChef を利用、CyberChef の Load recipe からダウンロードした複合化用 Recipe 内容をロードするか Recipe URL を開く、AES Decrypt の Key にはダミーの文字列のままのため、Shadowgate(2014)から AES の Key を取得(IV は不要)、Shadowgate_Data\Managed フォルダにある PAC.dll ファイルを dnSpy で開く、namespace PAC.GameData.Crypto の class Key を開き、string _256 の return ダブルクォーテーション内にある 32文字をコピー、CyberChef の AES Decrypt の Key に dnSpy を使って開いた PAC.dll の namespace PAC.GameData.Crypto → class Key → string _256 の return ダブルクォーテーション内にある 32文字に書き換え(IV は空欄のまま)、CyberChef の Input にある Open folder as input をクリックして Shadowgate_Data フォルダにある resources.assets ファイルからエクスポートした txt ファイル(Base64) 78ファイルを含むフォルダを指定してまとめてアップロード(個別にファイルをアップロードしたい場合は Opne file as input でファイルを手動で選択)、78ファイルのテキストファイル(Base64)アップロード後、アルファベット順で先頭の Base64 テキストファイルのみ複合化完了、残りのファイルはそのままのため STEP にある BAKE ボタンをクリックしてすべてのファイルを複合化、すべての Base64 テキストファイル複合化後、Output にある Save all outpus to a zip file で複合化したファイルを zip でダウンロード(ファイル単体でダウンロードしたい場合は Save output to file でダウンロード)、Please enter a filename と表示されるので download.zip のまま OK ボタンをクリック(zip ファイル名は任意に変更可)、「Please enter a file extension for the files, or leave blank to detect automatically.」と表示されるので拡張子の「.txt」を入力して OK ボタンをクリック後 zip ファイルがダウンロード開始、ダウンロードした zip ファイルを展開・解凍して 1.txt ~ 78.txt ファイルまであるのを確認(ファイル番号がずれていた場合は CyberChef の Recipe ページをリロードしてもう一度同じ手順で Base64 テキストファイルの複合化を行う)、ファイルリネーム用 bat ファイルを配置して実行、バッチファイル実行後オリジナルのファイル名にリネームされたテキストファイル、テキストファイルをテキストエディタ(文字コード UTF-8)で開き翻訳開始

バッチスクリプト実行後、オリジナルのファイル名にリネームされたテキストファイルです。バッチファイルは不要なので削除します。複合化されたテキストファイルをテキストエディタで文字コード UTF-8 で開き翻訳します。

注意点としてこちらで確認できた限りでは Menus.txt ファイルを編集してもゲームに反映されませんでした。これについては 別の方法で翻訳 することになります。

CyberChef で言語テキストファイル AES 暗号化 → Base64 エンコード

CyberChef で Base64 テキストファイルから複合化した UTF-8 テキストファイル を暗号化する方法です。

暗号化手順の流れは CyberChef の Base64 テキストファイル複合化方法 とほぼ同じです。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)言語ファイル編集方法、CyberChef で言語テキストファイル AES 暗号化 → Base64 エンコード、CyberChef で複合化した txt ファイルを編集後、元の暗号化したテキストファイルデータに戻すために CyberChef を利用、CyberChef の Load recipe からダウンロードした暗号化用 Recipe 内容をロードするか Recipe URL を開く

こちらで作成・用意した PC ゲーム リメイク版 Shadowgate(2014) - 言語テキストファイル暗号化(AES 暗号 + Base64)用 CyberChef Recipe ファイル(PC-Shadowgate2014-CyberChef-resources_assets-language-txt-AES-Encrypt-Base64-Encode-recipe-20220412.7z) をダウンロードして展開・解凍します。

ダウンロードしたファイルの URL.txt ファイルにあるリンクからブラウザで CyberChef を開くか、CHEF FORMAT.txt・CLEAN JSON.txt・COMPACT JSON.txt ファイルのいずれかのテキストファイルを開き内容をコピーして、CyberChef の Load recipe へ貼り付けて LOAD ボタンをクリックします。

上記画像中央の Recipe 列にこちらであらかじめ作成した Recipe が表示されていることを確認します。

AES Encrypt の Key のみダミーを入力しているため、そのままでは暗号化できません。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)言語ファイル編集方法、CyberChef で言語テキストファイル AES 暗号化 → Base64 エンコード、CyberChef で複合化した txt ファイルを編集後、元の暗号化した Base64 テキストファイルデータに戻すために CyberChef を利用、CyberChef の Load recipe からダウンロードした暗号化用 Recipe 内容をロードするか Recipe URL を開く、AES Encrypt の Key にはダミーの文字列のままのため、Shadowgate(2014)から AES の Key を取得(IV は不要)、Shadowgate_Data\Managed フォルダにある PAC.dll ファイルを dnSpy で開く、namespace PAC.GameData.Crypto の class Key を開き、string _256 の return ダブルクォーテーション内にある 32文字をコピー、CyberChef の AES Encrypt の Key に dnSpy を使って開いた PAC.dll の namespace PAC.GameData.Crypto → class Key → string _256 の return ダブルクォーテーション内にある 32文字に書き換え(IV は空欄のまま)

AES Encrypt の Key には、複合化したときに利用した AES Decrypt の Key を入力します。

解析ツールを使って Key を調べる場合は、Shadowgate_Data\Managed フォルダにある PAC.dll ファイルを dnSpy で開き、namespace PAC.GameData.Crypto → class Key → string _256 の return ダブルクォーテーション内にある 32文字 をコピーして AES Encrypt の Key に貼り付けます。(AES Encrypt の IV は不要のため空欄のまま)

これで Base64 テキストファイルへ暗号化する準備が整います。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)言語ファイル編集方法、CyberChef で言語テキストファイル AES 暗号化 → Base64 エンコード、CyberChef で複合化した txt ファイルを編集後、元の暗号化した Base64 テキストファイルデータに戻すために CyberChef を利用、CyberChef の Load recipe からダウンロードした暗号化用 Recipe 内容をロードするか Recipe URL を開く、AES Encrypt の Key にはダミーの文字列のままのため、Shadowgate(2014)から AES の Key を取得(IV は不要)、Shadowgate_Data\Managed フォルダにある PAC.dll ファイルを dnSpy で開く、namespace PAC.GameData.Crypto の class Key を開き、string _256 の return ダブルクォーテーション内にある 32文字をコピー、CyberChef の AES Encrypt の Key に dnSpy を使って開いた PAC.dll の namespace PAC.GameData.Crypto → class Key → string _256 の return ダブルクォーテーション内にある 32文字に書き換え(IV は空欄のまま)、CyberChef の Input にある Open folder as input をクリックして CyberChef で複合化した txt ファイル 78ファイルを含むフォルダを指定してまとめてアップロード(個別にファイルをアップロードしたい場合は Opne file as input でファイルを手動で選択)

CyberChef の Input にある Open folder as input をクリックします。

CyberChef で Base64 テキストファイルから複合化した UTF-8 テキストファイル 78ファイルを含むフォルダを指定して、UTF-8 テキストファイルをまとめてアップロードします。

ファイルを個別にアップロードしたい場合は Opne file as input からファイルを手動で選択してアップロードします。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)言語ファイル編集方法、CyberChef で言語テキストファイル AES 暗号化 → Base64 エンコード、CyberChef で複合化した txt ファイルを編集後、元の暗号化した Base64 テキストファイルデータに戻すために CyberChef を利用、CyberChef の Load recipe からダウンロードした暗号化用 Recipe 内容をロードするか Recipe URL を開く、AES Encrypt の Key にはダミーの文字列のままのため、Shadowgate(2014)から AES の Key を取得(IV は不要)、Shadowgate_Data\Managed フォルダにある PAC.dll ファイルを dnSpy で開く、namespace PAC.GameData.Crypto の class Key を開き、string _256 の return ダブルクォーテーション内にある 32文字をコピー、CyberChef の AES Encrypt の Key に dnSpy を使って開いた PAC.dll の namespace PAC.GameData.Crypto → class Key → string _256 の return ダブルクォーテーション内にある 32文字に書き換え(IV は空欄のまま)、CyberChef の Input にある Open folder as input をクリックして CyberChef で複合化した txt ファイル 78ファイルを含むフォルダを指定してまとめてアップロード(個別にファイルをアップロードしたい場合は Opne file as input でファイルを手動で選択)、78ファイルのテキストファイルアップロード後、アルファベット順で先頭のテキストファイルのみ Base64 暗号化完了

UTF-8 テキストファイルアップロード後、Output にアップロードした UTF-8 テキストファイルがタブ化された状態で表示されます。

Output タブにはアップロードしたファイルがアルファベット順で並び、アップロードした時点で先頭のテキストファイルのみ暗号化が完了します。

残りのファイルはアップロード時のままなため、STEP にある BAKE ボタンをクリックしてすべての Base64 テキストファイルへ暗号化します。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)言語ファイル編集方法、CyberChef で言語テキストファイル AES 暗号化 → Base64 エンコード、CyberChef で複合化した txt ファイルを編集後、元の暗号化した Base64 テキストファイルデータに戻すために CyberChef を利用、CyberChef の Load recipe からダウンロードした暗号化用 Recipe 内容をロードするか Recipe URL を開く、AES Encrypt の Key にはダミーの文字列のままのため、Shadowgate(2014)から AES の Key を取得(IV は不要)、Shadowgate_Data\Managed フォルダにある PAC.dll ファイルを dnSpy で開く、namespace PAC.GameData.Crypto の class Key を開き、string _256 の return ダブルクォーテーション内にある 32文字をコピー、CyberChef の AES Encrypt の Key に dnSpy を使って開いた PAC.dll の namespace PAC.GameData.Crypto → class Key → string _256 の return ダブルクォーテーション内にある 32文字に書き換え(IV は空欄のまま)、CyberChef の Input にある Open folder as input をクリックして CyberChef で複合化した txt ファイル 78ファイルを含むフォルダを指定してまとめてアップロード(個別にファイルをアップロードしたい場合は Opne file as input でファイルを手動で選択)、78ファイルのテキストファイルアップロード後、アルファベット順で先頭のテキストファイルのみ暗号化完了、残りのファイルはそのままのため STEP にある BAKE ボタンをクリックしてすべてのファイルを暗号化、すべてのテキストファイル Base64 暗号化後、Output にある Save all outpus to a zip file で暗号化したファイルを zip でダウンロード(ファイル単体でダウンロードしたい場合は Save output to file でダウンロード)

Base64 テキストファイルへ全部暗号化後、Output にある Save all outpus to a zip file で暗号化したファイルを zip でダウンロードします。

ファイル単体でダウンロードしたい場合は Output にある Save output to file でダウンロードできます。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)言語ファイル編集方法、CyberChef で言語テキストファイル AES 暗号化 → Base64 エンコード、CyberChef で複合化した txt ファイルを編集後、元の暗号化した Base64 テキストファイルデータに戻すために CyberChef を利用、CyberChef の Load recipe からダウンロードした暗号化用 Recipe 内容をロードするか Recipe URL を開く、AES Encrypt の Key にはダミーの文字列のままのため、Shadowgate(2014)から AES の Key を取得(IV は不要)、Shadowgate_Data\Managed フォルダにある PAC.dll ファイルを dnSpy で開く、namespace PAC.GameData.Crypto の class Key を開き、string _256 の return ダブルクォーテーション内にある 32文字をコピー、CyberChef の AES Encrypt の Key に dnSpy を使って開いた PAC.dll の namespace PAC.GameData.Crypto → class Key → string _256 の return ダブルクォーテーション内にある 32文字に書き換え(IV は空欄のまま)、CyberChef の Input にある Open folder as input をクリックして CyberChef で複合化した txt ファイル 78ファイルを含むフォルダを指定してまとめてアップロード(個別にファイルをアップロードしたい場合は Opne file as input でファイルを手動で選択)、78ファイルのテキストファイルアップロード後、アルファベット順で先頭の Base64 テキストファイルのみ暗号化完了、残りのファイルはそのままのため STEP にある BAKE ボタンをクリックしてすべてのファイルを暗号化、すべての Base64 テキストファイル暗号化後、Output にある Save all outpus to a zip file で暗号化したファイルを zip でダウンロード(ファイル単体でダウンロードしたい場合は Save output to file でダウンロード)、Please enter a filename と表示されるので download.zip のまま OK ボタンをクリック(zip ファイル名は任意に変更可)

「Please enter a filename:」と表示されるので download.zip のまま OK ボタンをクリックします。zip ファイル名は任意で変更可能です。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)言語ファイル編集方法、CyberChef で言語テキストファイル AES 暗号化 → Base64 エンコード、CyberChef で複合化した txt ファイルを編集後、元の暗号化した Base64 テキストファイルデータに戻すために CyberChef を利用、CyberChef の Load recipe からダウンロードした暗号化用 Recipe 内容をロードするか Recipe URL を開く、AES Encrypt の Key にはダミーの文字列のままのため、Shadowgate(2014)から AES の Key を取得(IV は不要)、Shadowgate_Data\Managed フォルダにある PAC.dll ファイルを dnSpy で開く、namespace PAC.GameData.Crypto の class Key を開き、string _256 の return ダブルクォーテーション内にある 32文字をコピー、CyberChef の AES Encrypt の Key に dnSpy を使って開いた PAC.dll の namespace PAC.GameData.Crypto → class Key → string _256 の return ダブルクォーテーション内にある 32文字に書き換え(IV は空欄のまま)、CyberChef の Input にある Open folder as input をクリックして CyberChef で複合化した txt ファイル 78ファイルを含むフォルダを指定してまとめてアップロード(個別にファイルをアップロードしたい場合は Opne file as input でファイルを手動で選択)、78ファイルのテキストファイルアップロード後、アルファベット順で先頭の Base64 テキストファイルのみ暗号化完了、残りのファイルはそのままのため STEP にある BAKE ボタンをクリックしてすべてのファイルを暗号化、すべての Base64 テキストファイル暗号化後、Output にある Save all outpus to a zip file で暗号化したファイルを zip でダウンロード(ファイル単体でダウンロードしたい場合は Save output to file でダウンロード)、Please enter a filename と表示されるので download.zip のまま OK ボタンをクリック(zip ファイル名は任意に変更可)、「Please enter a file extension for the files, or leave blank to detect automatically.」と表示されるので拡張子の「.txt」を入力して OK ボタンをクリック後 zip ファイルがダウンロード開始

次に「Please enter a file extension for the files, or leave blank to detect automatically.」と表示されるので、拡張子の「.txt」を入力して OK ボタンをクリック、zip ファイルのダウンロードが開始します。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)言語ファイル編集方法、CyberChef で言語テキストファイル AES 暗号化 → Base64 エンコード、CyberChef で複合化した txt ファイルを編集後、元の暗号化した Base64 テキストファイルデータに戻すために CyberChef を利用、CyberChef の Load recipe からダウンロードした暗号化用 Recipe 内容をロードするか Recipe URL を開く、AES Encrypt の Key にはダミーの文字列のままのため、Shadowgate(2014)から AES の Key を取得(IV は不要)、Shadowgate_Data\Managed フォルダにある PAC.dll ファイルを dnSpy で開く、namespace PAC.GameData.Crypto の class Key を開き、string _256 の return ダブルクォーテーション内にある 32文字をコピー、CyberChef の AES Encrypt の Key に dnSpy を使って開いた PAC.dll の namespace PAC.GameData.Crypto → class Key → string _256 の return ダブルクォーテーション内にある 32文字に書き換え(IV は空欄のまま)、CyberChef の Input にある Open folder as input をクリックして CyberChef で複合化した txt ファイル 78ファイルを含むフォルダを指定してまとめてアップロード(個別にファイルをアップロードしたい場合は Opne file as input でファイルを手動で選択)、78ファイルのテキストファイルアップロード後、アルファベット順で先頭の Base64 テキストファイルのみ暗号化完了、残りのファイルはそのままのため STEP にある BAKE ボタンをクリックしてすべてのファイルを暗号化、すべての Base64 テキストファイル暗号化後、Output にある Save all outpus to a zip file で暗号化したファイルを zip でダウンロード(ファイル単体でダウンロードしたい場合は Save output to file でダウンロード)、Please enter a filename と表示されるので download.zip のまま OK ボタンをクリック(zip ファイル名は任意に変更可)、「Please enter a file extension for the files, or leave blank to detect automatically.」と表示されるので拡張子の「.txt」を入力して OK ボタンをクリック後 zip ファイルがダウンロード開始、ダウンロードした zip ファイルを展開・解凍して 1.txt ~ 78.txt ファイルまであるのを確認(ファイル番号がずれていた場合は CyberChef の Recipe ページをリロードしてもう一度同じ手順で Base64 テキストファイルの暗号化を行う)、ファイルリネーム用 bat ファイルを配置して実行

ダウンロードした zip ファイルを展開・解凍して 1.txt ~ 78.txt ファイルまであるのを確認します。

ファイル番号がずれていた場合は CyberChef の Recipe ページをリロードして、もう一度同じ手順で Base64 テキストファイルへ暗号化を行います。

ダウンロードしたテキストファイル(1.txt ~ 78.txt)を元のファイル名にリネーム(名前変更)します。以下、リネーム用バッチスクリプトを用意したのでフォルダ内に配置して実行します。

assets ファイルへインポートする前に暗号化した Base64 テキストファイルを、必ず元のファイル名にリネームする必要があります。

PC ゲーム リメイク版 Shadowgate(2014) - CyberChef 複合化・暗号化テキストファイルリネーム用バッチスクリプト
ren 1.txt Achievements.txt
ren 2.txt ChecklistCollection.txt
ren 3.txt CreditsText.txt
ren 4.txt Cutscene1.txt
ren 5.txt Cutscene10.txt
ren 6.txt Cutscene2.txt
ren 7.txt Cutscene3o.txt
ren 8.txt Cutscene3p.txt
ren 9.txt Cutscene4.txt
ren 10.txt Cutscene5.txt
ren 11.txt Cutscene6.txt
ren 12.txt Cutscene6o.txt
ren 13.txt Cutscene7.txt
ren 14.txt Cutscene8.txt
ren 15.txt Cutscene9.txt
ren 16.txt CutsceneBeyondPromo.txt
ren 17.txt CutsceneCredits.txt
ren 18.txt CutsceneGenericDeath1.txt
ren 19.txt CutsceneGenericDeath2.txt
ren 20.txt CutsceneGenericDeath3.txt
ren 21.txt CutsceneGenericDeath4.txt
ren 22.txt CutsceneGenericDeath5.txt
ren 23.txt CutsceneGenericDeath6.txt
ren 24.txt CutsceneHiddenDeath1.txt
ren 25.txt CutsceneHiddenDeath10.txt
ren 26.txt CutsceneHiddenDeath2.txt
ren 27.txt CutsceneHiddenDeath3.txt
ren 28.txt CutsceneHiddenDeath4.txt
ren 29.txt CutsceneHiddenDeath5.txt
ren 30.txt CutsceneHiddenDeath6.txt
ren 31.txt CutsceneHiddenDeath7.txt
ren 32.txt CutsceneHiddenDeath8.txt
ren 33.txt CutsceneHiddenDeath9.txt
ren 34.txt DefaultStrings.txt
ren 35.txt FunctionCollection.txt
ren 36.txt FunctionCollection_00001.txt
ren 37.txt FunctionCollection_00002.txt
ren 38.txt FunctionCollection_00003.txt
ren 39.txt FunctionCollection_00004.txt
ren 40.txt GameStats.txt
ren 41.txt GlobalStates.txt
ren 42.txt GlobalStates_00001.txt
ren 43.txt GlobalStates_00002.txt
ren 44.txt GlobalStates_00003.txt
ren 45.txt GlobalStates_00004.txt
ren 46.txt HelpText.txt
ren 47.txt HintCollection.txt
ren 48.txt HintCollection_00001.txt
ren 49.txt HintCollection_00002.txt
ren 50.txt HintCollection_00003.txt
ren 51.txt ItemCollection.txt
ren 52.txt ItemCollection_00001.txt
ren 53.txt ItemCollection_00002.txt
ren 54.txt ItemCollection_00003.txt
ren 55.txt ItemCollection_00004.txt
ren 56.txt ItemInstances.txt
ren 57.txt ItemInstances_00001.txt
ren 58.txt ItemInstances_00002.txt
ren 59.txt ItemInstances_00003.txt
ren 60.txt ItemInstances_00004.txt
ren 61.txt Menus.txt
ren 62.txt Misc.txt
ren 63.txt RoomCollection.txt
ren 64.txt RoomCollection_00001.txt
ren 65.txt RoomCollection_00002.txt
ren 66.txt RoomCollection_00003.txt
ren 67.txt RoomCollection_00004.txt
ren 68.txt SceneData.txt
ren 69.txt SceneData_00001.txt
ren 70.txt SceneData_00002.txt
ren 71.txt SceneData_00003.txt
ren 72.txt SceneData_00004.txt
ren 73.txt SecretDevInfo.txt
ren 74.txt Settings.txt
ren 75.txt Sounds.txt
ren 76.txt Tips.txt
ren 77.txt Transitions.txt
ren 78.txt UserInterface.txt
pause
PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)言語ファイル編集方法、CyberChef で言語テキストファイル AES 暗号化 → Base64 エンコード、CyberChef で複合化した txt ファイルを編集後、元の暗号化した Base64 テキストファイルデータに戻すために CyberChef を利用、CyberChef の Load recipe からダウンロードした暗号化用 Recipe 内容をロードするか Recipe URL を開く、AES Encrypt の Key にはダミーの文字列のままのため、Shadowgate(2014)から AES の Key を取得(IV は不要)、Shadowgate_Data\Managed フォルダにある PAC.dll ファイルを dnSpy で開く、namespace PAC.GameData.Crypto の class Key を開き、string _256 の return ダブルクォーテーション内にある 32文字をコピー、CyberChef の AES Encrypt の Key に dnSpy を使って開いた PAC.dll の namespace PAC.GameData.Crypto → class Key → string _256 の return ダブルクォーテーション内にある 32文字に書き換え(IV は空欄のまま)、CyberChef の Input にある Open folder as input をクリックして CyberChef で複合化した txt ファイル 78ファイルを含むフォルダを指定してまとめてアップロード(個別にファイルをアップロードしたい場合は Opne file as input でファイルを手動で選択)、78ファイルのテキストファイルアップロード後、アルファベット順で先頭の Base64 テキストファイルのみ暗号化完了、残りのファイルはそのままのため STEP にある BAKE ボタンをクリックしてすべてのファイルを暗号化、すべての Base64 テキストファイル暗号化後、Output にある Save all outpus to a zip file で暗号化したファイルを zip でダウンロード(ファイル単体でダウンロードしたい場合は Save output to file でダウンロード)、Please enter a filename と表示されるので download.zip のまま OK ボタンをクリック(zip ファイル名は任意に変更可)、「Please enter a file extension for the files, or leave blank to detect automatically.」と表示されるので拡張子の「.txt」を入力して OK ボタンをクリック後 zip ファイルがダウンロード開始、ダウンロードした zip ファイルを展開・解凍して 1.txt ~ 78.txt ファイルまであるのを確認(ファイル番号がずれていた場合は CyberChef の Recipe ページをリロードしてもう一度同じ Base64 テキストファイルの暗号化を行う)、ファイルリネーム用 bat ファイルを配置して実行、バッチファイル実行後オリジナルのファイル名にリネームされた Base64 テキストファイル、Shadowgate_Data\Unity_Assets_Files\resources フォルダに暗号化した言語テキストファイル(Base64)全 78ファイルを配置、Shadowgate_Data フォルダにある resources.assets ファイルを UnityEX で開き Import files ボタンをクリックしてインポート

バッチスクリプト実行後、オリジナルのファイル名にリネームされた Base64 テキストファイルです。バッチファイルは不要なので削除します。このテキストファイルを assets ファイルにインポートして翻訳した内容をゲームに反映させます。

Shadowgate_Data\Unity_Assets_Files\resources フォルダに暗号化した言語テキストファイル(Base64)全 78ファイルを配置します。

Shadowgate_Data フォルダにある resources.assets ファイルを UnityEX で開き Import files ボタンをクリックしてインポートします。

バッチスクリプトでインポートしたい場合は Shadowgate_Data フォルダに UnityEX.exe ファイルと空の bat ファイル(ファイル名は任意)を新規作成して配置。bat ファイルには以下のバッチスクリプトをコピー&ペーストして保存後、bat ファイルを(PC 環境によっては管理者権限で)実行 して Unity_Assets_Files フォルダにあるファイルをまとめてインポートします。

PC ゲーム リメイク版 Shadowgate(2014)言語テキストファイル(Base64)インポートバッチスクリプト
UnityEX.exe import resources.assets -t txt
pause

注意点としてこちらで確認できた限りでは Menus.txt ファイルを編集してインポートしてもゲームに反映されませんでした。これについては 別の方法で翻訳 することになります。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)言語ファイル編集方法、nGUI 日本語ビットマップフォント差し替えと言語テキストファイル書き換え後の日本語サンプルスクリーンショット

こちらの画像は nGUI 日本語ビットマップフォント差し替え と言語テキストファイルを書き換えた日本語サンプルスクリーンショットです。

おまけ:dnSpy を使った Shadowgate(2014)の PAC.dll ファイル解析

dnSpy を使って Unity ゲーム dll ファイルの複合化・暗号化処理部分を特定した時のおおまかな手順です。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)言語ファイル編集方法、おまけ:dnSpy を使った Shadowgate(2014)の PAC.dll ファイル解析、Shadowgate_Data\Managed フォルダにある PAC.dll ファイルを dnSpy で開く

Shadowgate_Data\Managed フォルダにある PAC.dll ファイルを dnSpy で開きます。

Unity ゲームには(ゲームによりますが)Managed フォルダに複数の dll ファイルがあります。その中に見慣れないファイル名がある場合、ゲーム専用のプログラムが含まれている可能性があります。(関連記事

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)言語ファイル編集方法、おまけ:dnSpy を使った Shadowgate(2014)の PAC.dll ファイル解析、Shadowgate_Data\Managed フォルダにある PAC.dll ファイルを dnSpy で開く、namespace PAC.GameData.Crypto にある class Decrypter の Decrypt 関数内容を CyberChef で再現

namespace PAC.GameData.Crypto にある class Decrypter の Decrypt 関数内容です。関数名の通り複合化の C# プログラムです。

CyberChef で複合化処理プログラムを再現 しています。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)言語ファイル編集方法、おまけ:dnSpy を使った Shadowgate(2014)の PAC.dll ファイル解析、Shadowgate_Data\Managed フォルダにある PAC.dll ファイルを dnSpy で開く、namespace PAC.GameData.Crypto にある classEncrypter の Encrypt 関数内容を CyberChef で再現

namespace PAC.GameData.Crypto にある classEncrypter の Encrypt 関数内容です。関数名の通り暗号化の C# プログラムです。

CyberChef で暗号化処理プログラムを再現 しています。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)言語ファイル編集方法、おまけ:dnSpy を使った Shadowgate(2014)の PAC.dll ファイル解析、Shadowgate_Data\Managed フォルダにある PAC.dll ファイルを dnSpy で開く、namespace PAC.GameData.Crypto の class Key を開き、string _256 の return にあるダブルクォーテーション内にある 32文字、CyberChef の AES Decrypt と AES Encrypt の Key に使用(IV は空欄のまま)

namespace PAC.GameData.Crypto の class Key を開き、string _256 の return 行にあるダブルクォーテーション内に 32文字の文字列が格納されています。

CyberChef の AES DecryptAES Encrypt の Key に使用しています。なお、今回の複合化・暗号化では AES の IV は空欄のままです。

たまたま namespace PAC.GameData.Crypto 内に複合化・暗号化プログラムと Key が含まれていましたが、Steam 版 I Love You, Colonel Sanders! A Finger Lickin' Good Dating Simulator のように別の namespace に Key が含まれているパターンもあります。

PC ゲーム リメイク版 Shadowgate(2014)システムテキスト編集方法

こちらで確認できた限りでは 言語テキストファイルの編集方法(暗号化・複合化) にて Menus.txt ファイルを翻訳してもゲーム内に反映されないようです。

別の方法でテキストを書き換えることでゲーム内に反映できることがわかったので、そのやり方を以下説明します。

Shadowgate(2014)から MonoBehaviour ファイル(UILabel)一括エクスポート

このセクションではテキストデータの編集に必要な MonoBehaviour(UILabel)テキストファイルの一括エクスポートする方法を説明します。

こちらであらかじめエクスポートしてまとめた PC ゲーム リメイク版 Shadowgate(2014) - UABE で level0 および sharedassets1.,assets ファイルからエクスポートした MonoBehaviour(UILabel)テキストファイル(PC-Shadowgate2014-UABE-Export-Dump-UILabel-level0-sharedassets1_assets-txt-20220412.7z) を公開しておきます。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)システムテキスト編集方法、Shadowgate(2014)から MonoBehaviour ファイル(UILabel)一括エクスポート、Shadowgate_Data フォルダにある level0 ファイルを UABE で開く

Shadowgate_Data フォルダにある level0 ファイルを UABE 2.2 stable d で開きます。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)システムテキスト編集方法、Shadowgate(2014)から MonoBehaviour ファイル(UILabel)一括エクスポート、Shadowgate_Data フォルダにある level0 ファイルを UABE で開き、Asset info 画面のメニュー Tools にある Get script information をクリック

Asset info 画面でメニュー Tools にある Get script information をクリックします。Get script information を実行しないと、この後実行する View Data の内容がすべて表示されなかったり、エクスポート・インポートで必要なデータが欠落することがあります。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)システムテキスト編集方法、Shadowgate(2014)から MonoBehaviour ファイル(UILabel)一括エクスポート、Shadowgate_Data フォルダにある level0 ファイルを UABE で開き、Asset info 画面のメニュー Tools にある Get script information をクリック、Type 列をクリックして並び替え、Type 列にある MonoBehaviour : UILabel (Assembly-CSharp.dll) をすべて選択した状態で Export Dump ボタンをクリック
PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)システムテキスト編集方法、Shadowgate(2014)から MonoBehaviour ファイル(UILabel)一括エクスポート、Shadowgate_Data フォルダにある level0 ファイルを UABE で開き、Asset info 画面のメニュー Tools にある Get script information をクリック、Type 列をクリックして並び替え、Type 列にある MonoBehaviour : UILabel (Assembly-CSharp.dll) をすべて選択した状態で Export Dump ボタンをクリック

Type 列をクリックして並び替え、Type 列にある MonoBehaviour : UILabel (Assembly-CSharp.dll) をすべて選択した状態で Export Dump ボタンをクリックします。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)システムテキスト編集方法、Shadowgate(2014)から MonoBehaviour ファイル(UILabel)一括エクスポート、Shadowgate_Data フォルダにある level0 ファイルを UABE で開き、Asset info 画面のメニュー Tools にある Get script information をクリック、Type 列をクリックして並び替え、Type 列にある MonoBehaviour : UILabel (Assembly-CSharp.dll) をすべて選択した状態で Export Dump ボタンをクリック、複数ファイルを Export Dump すると Select a dump type 画面が表示、デフォルトの UABE text dump (can be imported) のまま OK ボタンをクリックして任意の場所のテキストファイルをエクスポート

複数ファイルを選択した状態で Export Dump すると Select a dump type 画面が表示されます。

デフォルトの UABE text dump (can be imported) のまま OK ボタンをクリックして任意の場所のテキストファイルをエクスポートします。

エクスポートした MonoBehaviour(UILabel)テキストファイルの編集方法については こちらで説明 します。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)システムテキスト編集方法、Shadowgate(2014)から MonoBehaviour ファイル(UILabel)一括エクスポート、Shadowgate_Data フォルダにある level0 ファイルを UABE で開く、Asset info 画面のメニュー View にある Dependencies をクリックしたときに表示される Dependencies 画面、0 - level0 の 0 は File ID、sharedassets1.assets ファイルの File ID は 1、UABE で level0 ファイルを開いた場合、Type が MonoBehaviour : UILabel (Assembly-CSharp.dll) を含むファイルは level0 と sharedassets1.assets ファイル

こちらの画像は Asset info 画面のメニュー View にある Dependencies をクリックしたときに表示される Dependencies 画面です。

UABE 2.2 stable d の場合、開いたアセットファイル(~.assets、level~)に応じて関連アセットファイルと一緒に表示されます。(参考情報・・・文中にある「AssetBundleExtractor (UABE) の場合)」箇所

Dependencies 画面に表示されている 「0 - level0」 の先頭 0 は File ID で、sharedassets1.assets ファイルの File ID は 1 となっています。

ちなみに「2 - library/unity default resources」は Shadowgate_Data\Resources フォルダにある unity default resources ファイルを指しています。

UABE 2.2 stable d で level0 ファイルを開いた場合、Type 列でソートすると MonoBehaviour : UILabel (Assembly-CSharp.dll) を含むアセットファイルは File ID が 0 と 1 しかありません。

つまり level0 ファイルを開いた場合、MonoBehaviour : UILabel (Assembly-CSharp.dll) を含むアセットファイルは、level0 ファイルと sharedassets1.assets ファイルだけということになります。

Shadowgate(2014)へ MonoBehaviour ファイル(UILabel)一括インポート

アセットファイルからエクスポートした MonoBehaviour(UILabel)テキストファイルテキストデータを編集 した後、アセットファイルへまとめてインポートする方法です。

個別に MonoBehaviour(UILabel)テキストファイルをインポートする方法については こちら で説明します。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)システムテキスト編集方法、Shadowgate(2014)へ MonoBehaviour ファイル(UILabel)一括インポート、Shadowgate_Data フォルダにある level0 ファイルを UABE で開き、Asset info 画面のメニュー Tools にある Get script information をクリック、Type 列をクリックして並び替え、Type 列にある MonoBehaviour : UILabel (Assembly-CSharp.dll) をすべて選択した状態で Import Dump ボタンをクリック、インポート対象の MonoBehaviour(UILabel)テキストファイルがあるフォルダを指定

アセットファイルから MonoBehaviour(UILabel)テキストファイルをエクスポートした手順 と同じ方法で UABE 2.2 stable d で level0 ファイルを開き、Asset info 画面のメニュー Tools にある Get script information をクリックします。

Type 列をクリックして並び替え、Type 列にある MonoBehaviour : UILabel (Assembly-CSharp.dll) をすべて選択した状態で Import Dump ボタンをクリックします。

Type 列にある複数の MonoBehaviour : UILabel (Assembly-CSharp.dll) を選択した状態で Import Dump ボタンをクリック後、インポート対象の MonoBehaviour(UILabel)テキストファイルがあるフォルダを指定します。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)システムテキスト編集方法、Shadowgate(2014)へ MonoBehaviour ファイル(UILabel)一括インポート、Shadowgate_Data フォルダにある level0 ファイルを UABE で開き、Asset info 画面のメニュー Tools にある Get script information をクリック、Type 列をクリックして並び替え、Type 列にある MonoBehaviour : UILabel (Assembly-CSharp.dll) をすべて選択した状態で Import Dump ボタンをクリック、インポート対象の MonoBehaviour(UILabel)テキストファイルがあるフォルダを指定、Assets to import にインポート先ファイルが表示、Matching files にインポートする MonoBehaviour(UILabel)テキストファイルが表示、Batch Import 画面で OK ボタンをクリック

インポート対象フォルダ指定後に Batch Import 画面が開きます。

画面左側にある Assets to import にインポート先ファイルが、画面右側にある Matching files にインポートする MonoBehaviour(UILabel)テキストファイルが表示されます。

OK ボタンをクリックするとインポートを開始します。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)システムテキスト編集方法、Shadowgate(2014)へ MonoBehaviour ファイル(UILabel)一括インポート、Shadowgate_Data フォルダにある level0 ファイルを UABE で開き、Asset info 画面のメニュー Tools にある Get script information をクリック、Type 列をクリックして並び替え、Type 列にある MonoBehaviour : UILabel (Assembly-CSharp.dll) をすべて選択した状態で Import Dump ボタンをクリック、インポート対象の MonoBehaviour(UILabel)テキストファイルがあるフォルダを指定、Assets to import にインポート先ファイルが表示、Matching files にインポートする MonoBehaviour(UILabel)テキストファイルが表示、Batch Import 画面で OK ボタンをクリック、インポート後 Modified 列にアスタリスク(*)マークが表示されている状態で OK ボタンをクリック

MonoBehaviour(UILabel)テキストファイルインポート後、Modified 列にアスタリスク(*)マークが表示されます。

インポート対象すべてに Modified 列にアスタリスク(*)がある状態で OK ボタンをクリックします。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)システムテキスト編集方法、Shadowgate(2014)へ MonoBehaviour ファイル(UILabel)一括インポート、Shadowgate_Data フォルダにある level0 ファイルを UABE で開き、Asset info 画面のメニュー Tools にある Get script information をクリック、Type 列をクリックして並び替え、Type 列にある MonoBehaviour : UILabel (Assembly-CSharp.dll) をすべて選択した状態で Import Dump ボタンをクリック、インポート対象の MonoBehaviour(UILabel)テキストファイルがあるフォルダを指定、Assets to import にインポート先ファイルが表示、Matching files にインポートする MonoBehaviour(UILabel)テキストファイルが表示、Batch Import 画面で OK ボタンをクリック、インポート後 Modified 列にアスタリスク(*)マークが表示されている状態で OK ボタンをクリック、「Would you like to save changes?」と表示されるのではいボタンでファイルを保存、Shadowgate_Data フォルダにあるオリジナルファイルには直接上書き保存ができないため別のフォルダに保存してからオリジナルファイルと差し替えるか、別名で保存してからリネームしてオリジナルファイルと差し替え

「Would you like to save changes?」と表示されるのではいボタンでファイルを保存します。

Shadowgate_Data フォルダにあるオリジナルファイル(level0 と sharedassets1.assets)には直接上書き保存ができないため、別のフォルダに保存してからオリジナルファイルと差し替えるか、別名で保存してからリネームしてオリジナルファイルと差し替えることになります。

MonoBehaviour ファイル(UILabel)編集&個別インポート

アセットファイルからエクスポートした MonoBehaviour(UILabel)テキストファイル について、テキストデータの編集方法と個別にインポートする方法を説明します。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)システムテキスト編集方法、MonoBehaviour ファイル(UILabel)編集&個別インポート、Shadowgate_Data フォルダにある level0 と sharedassets1.assets ファイルから、UABE でエクスポートした MonoBehaviour : UILabel (Assembly-CSharp.dll) テキストファイルを格納しているフォルダに対して、秀丸エディタの gerp 検索で書き換えたいテキストを検索

UABE でエクスポートした MonoBehaviour : UILabel (Assembly-CSharp.dll) テキストファイル が非常に多いため(ファイル数 300以上)、まずは格納しているフォルダに対して書き換えたいテキストファイルを特定します。

上の画像では 秀丸エディタgrep 検索 で(編集したい)テキストを検索します。

例えばタイトル画面にある NEW を検索したい場合は、検索文字列の前後にダブルコーテーションをつけて "NEW" と入力して検索します。検索結果は unnamed asset-level0-2744-MonoBehaviour.txt ファイルがヒットします。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)システムテキスト編集方法、MonoBehaviour ファイル(UILabel)編集&個別インポート、Shadowgate_Data フォルダにある level0 と sharedassets1.assets ファイルから、UABE でエクスポートした MonoBehaviour : UILabel (Assembly-CSharp.dll) テキストファイルを格納しているフォルダに対して、FavBinEdit の FavBinGrep で書き換えたいテキストを検索
PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)システムテキスト編集方法、MonoBehaviour ファイル(UILabel)編集&個別インポート、Shadowgate_Data フォルダにある level0 と sharedassets1.assets ファイルから、UABE でエクスポートした MonoBehaviour : UILabel (Assembly-CSharp.dll) テキストファイルを格納しているフォルダに対して、FavBinEdit の FavBinGrep で書き換えたいテキストを検索

こちらの画像は バイナリエディタ FavBinEdit の GREP 検索 FavBinGrep 画面です。

秀丸エディタgrep 検索 と同じように検索することができます。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)システムテキスト編集方法、MonoBehaviour ファイル(UILabel)編集&個別インポート、書き換えたいテキストの MonoBehaviour : UILabel (Assembly-CSharp.dll) ファイルが判明している場合、UABE で level0 ファイルを開き Assets info 画面のメニュー View → Go to assets を選択
PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)システムテキスト編集方法、MonoBehaviour ファイル(UILabel)編集&個別インポート、書き換えたいテキストの MonoBehaviour : UILabel (Assembly-CSharp.dll) ファイルが判明している場合、UABE で level0 ファイルを開き Assets info 画面のメニュー View → Go to assets を選択、Go to 画面で File ID の指定と Path ID 番号を入力して OK ボタンをクリック

UABE 2.2 stable d 上からテキストデータの確認と個別インポートする方法です。テキストデータの確認については上で紹介した grep 検索を使えば不要ですが、一応方法の一つとして紹介だけしておきます。

タイトル画面にある NEW という文字列は unnamed asset-level0-2744-MonoBehaviour.txt ファイルに含まれているので、ファイル名からアセットファイル level0 の Path ID 2744 にテキストデータがあることになります。

UABE 2.2 stable d で level0 ファイルを開き、Asset info 画面のメニュー Tools にある Get script information をクリックします。

続けて Assets info 画面のメニュー View → Go to assets を選択して Go to 画面が開くので、文字列 NEW がある File ID の指定と Path ID 番号を入力して OK ボタンをクリックします。ここでは File ID に level0 を指定、Path ID に 2477 と入力します。事前にアセットファイルと Path ID が特定しているパターンなので、不明の場合この方法は使えません。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)システムテキスト編集方法、MonoBehaviour ファイル(UILabel)編集&個別インポート、書き換えたいテキストの MonoBehaviour : UILabel (Assembly-CSharp.dll) ファイルが判明している場合、UABE で level0 ファイルを開き Assets info 画面のメニュー View → Go to assets を選択、Go to 画面で File ID の指定と Path ID 番号を入力して OK ボタンをクリック、指定の Path ID まで移動するので View Data をクリックして書き換えたいテキストがあるかどうか確認

指定の Path ID まで移動します。View Data をクリックして書き換えたいテキストがあるかどうか確認します。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)システムテキスト編集方法、MonoBehaviour ファイル(UILabel)編集&個別インポート、書き換えたいテキストの MonoBehaviour : UILabel (Assembly-CSharp.dll) ファイルが判明している場合、UABE で level0 ファイルを開き Assets info 画面のメニュー View → Go to assets を選択、Go to 画面で File ID の指定と Path ID 番号を入力して OK ボタンをクリック、指定の Path ID まで移動するので View Data をクリックして書き換えたいテキストがあるかどうか確認、string mText に目的の文字列を確認を確認したら Export Dump を実行して MonoBehaviour(UILabel)テキストファイルをエクスポート

string mText に目的の文字列 NEW があることが確認できました。

Path ID 2744 の Type: MonoBehaviour : UILabel (Assembly-CSharp.dll) を選択した状態で Export Dump を実行することで、MonoBehaviour(UILabel)テキストファイルを個別にエクスポートすることができます。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)システムテキスト編集方法、MonoBehaviour ファイル(UILabel)編集&個別インポート、書き換えたいテキストの MonoBehaviour : UILabel (Assembly-CSharp.dll) ファイルが判明している場合、UABE で level0 ファイルを開き Assets info 画面のメニュー View → Go to assets を選択、Go to 画面で File ID の指定と Path ID 番号を入力して OK ボタンをクリック、指定の Path ID まで移動するので View Data をクリックして書き換えたいテキストがあるかどうか確認、string mText に目的の文字列を確認を確認したら Export Dump を実行して MonoBehaviour(UILabel)テキストファイルをエクスポート、テキストエディタで string mText 内容を書き換え(文字コードは UTF-8)
PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)システムテキスト編集方法、MonoBehaviour ファイル(UILabel)編集&個別インポート、書き換えたいテキストの MonoBehaviour : UILabel (Assembly-CSharp.dll) ファイルが判明している場合、UABE で level0 ファイルを開き Assets info 画面のメニュー View → Go to assets を選択、Go to 画面で File ID の指定と Path ID 番号を入力して OK ボタンをクリック、指定の Path ID まで移動するので View Data をクリックして書き換えたいテキストがあるかどうか確認、string mText に目的の文字列を確認を確認したら Export Dump を実行して MonoBehaviour(UILabel)テキストファイルをエクスポート、テキストエディタで string mText 内容を書き換え(文字コードは UTF-8)

Path ID 2744 の MonoBehaviour(UILabel)テキストファイルをテキストエディタ(文字コード UTF-8)で開き、テキストデータ string mText を書き換えます。

ここでは「NEW」から「ニューゲーム」に書き換えています。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)システムテキスト編集方法、MonoBehaviour ファイル(UILabel)編集&個別インポート、書き換えたいテキストの MonoBehaviour : UILabel (Assembly-CSharp.dll) ファイルが判明している場合、UABE で level0 ファイルを開き Assets info 画面のメニュー View → Go to assets を選択、Go to 画面で File ID の指定と Path ID 番号を入力して OK ボタンをクリック、指定の Path ID まで移動するので View Data をクリックして書き換えたいテキストがあるかどうか確認、string mText に目的の文字列を確認を確認したら Export Dump を実行して MonoBehaviour(UILabel)テキストファイルをエクスポート、テキストエディタで string mText 内容を書き換え(文字コードは UTF-8)、UABE で level0 ファイルを開きエクスポートしたファイルを選択して Import Dump を実行で書き換えた MonoBehaviour(UILabel)テキストファイルをインポート

MonoBehaviour(UILabel)テキストファイルを書き換えたら、再度 UABE 2.2 stable d で level0 ファイルを開き、Asset info 画面のメニュー Tools にある Get script information をクリックします。Get script information を忘れたままインポートしたアセットファイルをオリジナルファイルと差し替えるとゲームがクラッシュします。

Path ID 2744 の Type: MonoBehaviour : UILabel (Assembly-CSharp.dll) を選択した状態で Import Dump を実行して、書き換えた MonoBehaviour(UILabel)テキストファイル(この場合は unnamed asset-level0-2744-MonoBehaviour.txt)を選択してインポートします。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)システムテキスト編集方法、MonoBehaviour ファイル(UILabel)編集&個別インポート、書き換えたいテキストの MonoBehaviour : UILabel (Assembly-CSharp.dll) ファイルが判明している場合、UABE で level0 ファイルを開き Assets info 画面のメニュー View → Go to assets を選択、Go to 画面で File ID の指定と Path ID 番号を入力して OK ボタンをクリック、指定の Path ID まで移動するので View Data をクリックして書き換えたいテキストがあるかどうか確認、string mText に目的の文字列を確認を確認したら Export Dump を実行して MonoBehaviour(UILabel)テキストファイルをエクスポート、テキストエディタで string mText 内容を書き換え(文字コードは UTF-8)、UABE で level0 ファイルを開きエクスポートしたファイルを選択して Import Dump を実行で書き換えた MonoBehaviour(UILabel)テキストファイルをインポート、インポート後 Viwe Data → Asset info 画面で string mText のテキスト内容が書き換えられているかどうか確認

インポート後、Level0 の Path ID 2744 - MonoBehaviour(UILabel)を Viwe Data で開き、Asset info 画面から string mText のテキスト内容が書き換えられているかどうか確認できます。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)システムテキスト編集方法、MonoBehaviour ファイル(UILabel)編集&個別インポート、書き換えたいテキストの MonoBehaviour : UILabel (Assembly-CSharp.dll) ファイルが判明している場合、UABE で level0 ファイルを開き Assets info 画面のメニュー View → Go to assets を選択、Go to 画面で File ID の指定と Path ID 番号を入力して OK ボタンをクリック、指定の Path ID まで移動するので View Data をクリックして書き換えたいテキストがあるかどうか確認、string mText に目的の文字列を確認を確認したら Export Dump を実行して MonoBehaviour(UILabel)テキストファイルをエクスポート、テキストエディタで string mText 内容を書き換え(文字コードは UTF-8)、UABE で level0 ファイルを開きエクスポートしたファイルを選択して Import Dump を実行で書き換えた MonoBehaviour(UILabel)テキストファイルをインポート、インポート後 Viwe Data 画面で string mText のテキスト内容が書き換えられているかどうか確認、インポートしたファイルの Modified 列にアスタリスク(*)マークが表示されている状態で OK ボタンをクリック

インポート後、Modified 列にアスタリスク(*)マークが表示されている状態で OK ボタンをクリックします。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)システムテキスト編集方法、MonoBehaviour ファイル(UILabel)編集&個別インポート、書き換えたいテキストの MonoBehaviour : UILabel (Assembly-CSharp.dll) ファイルが判明している場合、UABE で level0 ファイルを開き Assets info 画面のメニュー View → Go to assets を選択、Go to 画面で File ID の指定と Path ID 番号を入力して OK ボタンをクリック、指定の Path ID まで移動するので View Data をクリックして書き換えたいテキストがあるかどうか確認、string mText に目的の文字列を確認を確認したら Export Dump を実行して MonoBehaviour(UILabel)テキストファイルをエクスポート、テキストエディタで string mText 内容を書き換え(文字コードは UTF-8)、UABE で level0 ファイルを開きエクスポートしたファイルを選択して Import Dump を実行で書き換えた MonoBehaviour(UILabel)テキストファイルをインポート、インポート後 Viwe Data 画面で string mText のテキスト内容が書き換えられているかどうか確認、インポートしたファイルの Modified 列にアスタリスク(*)マークが表示されている状態で OK ボタンをクリック、「Would you like to save changes?」と表示されるのではいボタンでファイルを保存、Shadowgate_Data フォルダにあるオリジナルファイルには直接上書き保存ができないため別のフォルダに保存してからオリジナルファイルと差し替えるか、別名で保存してからリネームしてオリジナルファイルと差し替え

「Would you like to save changes?」と表示されるのではいボタンでファイルを保存します。

Shadowgate_Data フォルダにあるオリジナルファイル(level0 や sharedassets1.assets)には直接上書き保存ができないため、別のフォルダに保存してからオリジナルファイルと差し替えるか、別名で保存してからリネームしてオリジナルファイルと差し替えることになります。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)システムテキスト編集方法、MonoBehaviour ファイル(UILabel)編集&個別インポート、nGUI 日本語ビットマップフォント差し替えと MonoBehaviour(UILabel)テキストファイル書き換え(NEW → ニューゲーム)後の日本語サンプルスクリーンショット

こちらの画像は nGUI 日本語ビットマップフォント差し替え とシステムテキスト(MonoBehaviour(UILabel))を書き換えた日本語サンプルスクリーンショットです。

おまけ:UnityEX MonoBehaviour(UILabel、UnityEX 表記 Type -3)ファイルエクスポートとバイナリエディタ編集

おまけで UnityEX とバイナリエディタを使ってシステムテキスト(MonoBehaviour(UILabel))を編集する方法を紹介します。

UnityEX にある Import files でファイルをまとめてインポートできる点では楽ですが、バイナリエディタを使った方法では UTF-8 テキストデータのバイト数計算やアライメント調整が必要です。手動でのバイナリデータ書き換えは手間がかかるうえ、間違うとゲームが起動せずクラッシュする可能性があります。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)システムテキスト編集方法、おまけ:UnityEX MonoBehaviour(UILabel、UnityEX 表記 Type -3)ファイルエクスポートとバイナリエディタ編集、テキスト編集対象の MonoBehaviour(UILabel)ファイルがある level0 または sharedassets1.assets ファイルを UnityEX で開き、Type 列 -3(MonoBehaviour id: 114)のファイルを選択してエクスポート(画像では level0 を UnityEX で開き、#2744 level0_00180.-3 を選択して右クリックで Export with convert or Raw を選択)

テキスト編集対象の MonoBehaviour(UILabel)ファイルがある level0 または sharedassets1.assets ファイルを UnityEX で開きます。

Type 列 -3(MonoBehaviour id: 114)のファイルを選択してエクスポートします。ちなみに Type 列 -3 は UILabel 扱いになっているのでソートすれば、UILabel ファイルのみまとめエクスポートすることができます。

画像では level0 を UnityEX で開き、#2744 の level0_00180.-3 を選択して右クリックで Export with convert or Raw をクリックします。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)システムテキスト編集方法、おまけ:UnityEX MonoBehaviour(UILabel、UnityEX 表記 Type -3)ファイルエクスポートとバイナリエディタ編集、テキスト編集対象の MonoBehaviour(UILabel)ファイルがある level0 または sharedassets1.assets ファイルを UnityEX で開き、Type 列 -3(MonoBehaviour id: 114)のファイルを選択してエクスポート(画像では level0 を UnityEX で開き、#2744 level0_00180.-3 を選択して右クリックで Export with convert or Raw を選択)、バイナリエディタでエクスポートした拡張子 -3 ファイルを開き、UTF-8 テキストバイト数 0x3(4バイト)と編集対象テキスト NEW(アラインメント - 4バイト倍数)があるバイナリデータを特定

Unity_Assets_Files フォルダにエクスポートした拡張子 -3 ファイル(ここでは level0_00180.-3 ファイル)をバイナリエディタで開きます。

UTF-8 テキストバイト数 0x3(4バイト)と編集対象テキスト「NEW」(アラインメント - 4バイト倍数(参考情報1参考情報2))があるバイナリデータを特定します。

PC ゲーム リメイク版 Shadowgate(2014)で日本語を表示する方法、PC ゲーム リメイク版 Shadowgate(2014)システムテキスト編集方法、おまけ:UnityEX MonoBehaviour(UILabel、UnityEX 表記 Type -3)ファイルエクスポートとバイナリエディタ編集、テキスト編集後 MonoBehaviour(UILabel)ファイルがある level0 または sharedassets1.assets ファイルを UnityEX で開き、Type 列 -3(MonoBehaviour id: 114)のファイルを選択してエクスポート(画像では level0 を UnityEX で開き、#2744 level0_00180.-3 を選択して右クリックで Export with convert or Raw を選択)、バイナリエディタでエクスポートした拡張子 -3 ファイルを開き、UTF-8 テキストバイト数 0x12(4バイト)と編集後テキスト ニューゲーム(アラインメント - 4バイト倍数)があるバイナリデータ

文字列「NEW」→「ニューゲーム」に書き換える手順です。

文字列「ニューゲーム」の UTF-8 テキストバイト数は 18 となるため 16進数にすると 0x12 となります。4バイトの 16進数バイナリデータ(リトルエンディアン)にすると 12 00 00 00 になるのでこの内容で書き換えます。

UTF-8 テキストデータは 4バイト倍数にアライメントを調整します。(参考情報1参考情報2

文字列「ニューゲーム」の場合 UTF-8 テキストバイト数は 18 なので、4 で 割り切れる 20 バイトに調整するため残り 2バイトを 00 データで埋める形になります。ちなみに 4 で割り切れる UTF-8 テキストデータの場合は 00 データは不要です。

UTF-8 テキストバイト数と UTF-8 テキストデータを書き換えたら UnityEX でインポート先アセットファイル(level0 か sharedassets1.assets)を開き、Import files をクリックしてインポートします。

awgs
Posted by awgs