前回のふりかえり
2DノンフィールドRPGを作るためにOne Step A Dayという新規プロジェクトを作成し、基本設定をしました!また謎のエラーも解消しました。
2歩目 TextMeshProを日本語対応
2歩目では、ゲーム画面に文字を表示するために必要なUIであるTextMeshProを日本語対応させていきます!
TextMeshProは初期設定では日本語には対応しておらず、文字化けしてしまいます。下の画像のようにこんにちはと入力しましたが、ゲーム画面では▫️▫️▫️▫️▫️と文字化けしてしまっています。

ですが、ゲームを作る上でTextUIは必ず必要になるので今回で日本語にしても文字化けしないようにしていきます!
TextMeshProをインポート
- 初めてTextMeshProを使おうとするとインポート画面が出てくるので上下ともインストールします


フォントと日本語データをダウンロード
- Google Fontsからフォントをダウンロードします
左上のGet fontをクリックし、Download allからフォントをダウンロードします。

- zipファイルを解凍して、今回はNotoSansJP-Light.tffを使います

- NotoSansJP-Light.tffを自分のプロジェクトのTextMeshProのFontsファイルにコピーします
位置はゲームのプロジェクトファイル→Assets→TextMeshPro→Fontsです

- 日本語文字コードから日本語データをダウンロードしてきます
右上のDownload zipをクリックしてzipファイルをダウンロードします。
japanese_full.txtがあればOKです!


日本語フォントを追加
- WindowのTextMeshProのFont Asset Creatorをクリック

- Source Fontに先ほどFontsファイルに保存したNoto Sans JP-Lightを選択します

- japanese_full.txtを開き、中の日本語データをコピーします

- Character SetをCustom Charactersにし、Custom Character Listに先ほどコピーした日本語データを貼り付けます
- Generate Font Atlasをクリックし、しばらく待つとSaveできるようになるので、保存するとTextMeshProで日本語を使うことができます

動作確認
- TextMeshProのFont Assetに先ほど追加したフォントを選択すると、ゲーム画面でもきちんとこんにちはと表示されるようになりました!

まとめ
ゲームを開発する上で日本語は必ず使うので、このやり方を覚えて日本語対応させられるようにしましょう!慣れれば簡単にできるようになりますし、Source Fontを変えることで、ピクセルっぽい文字やその他にも様々なフォントを作ることができるので、ぜひマスターしましょう!
お役立ち
フォントを追加し使ってみると、ゲーム画面の文字に白いモヤのようなものができることがあります。実際に自分のゲーム画面にも同じようなことが起きました。
解決方法としてはFont Asset CreatorのSampling Point Sizeをカスタムサイズにし、数値を小さくすると解決しました。

コメント