TextMesh Pro で日本語フォントを使う方法【Unity】

TextMesh Pro で日本語フォントを使う方法【Unity】

はじめに

TextMesh Pro はデフォルトのフォントだと英語のみ使用可能なため、日本語を打ち込んでも四角(□)の形が表示されてしまいます。

TextMeshProで日本語フォントが表示されない

本記事では TextMesh Pro で日本語フォントを使うための導入方法を紹介します。

環境

Unity 2021.3.4f1

使用する日本語フォントの選択

本記事では日本語フォントに Google Fonts を使用します。

Google Fonts とは、Google が提供する Web フォントのサービスです。
基本的に無料 & 商用利用も可能で、フォントの種類も豊富にあるためオススメです。

GoogleFontsのトップページ
MEMO
記事執筆時点では無料 & 商用利用ですが、利用規約が変更される可能性もあるため最新の情報はサイト元をご確認ください。

好みの日本語フォントを選び「Download family」からフォントをダウンロードします。ここでは「Noto Sans Japanese」をダウンロードしました。

GoogleFontsのダウンロード

ダウンロードした Zip ファイルを解凍すると、文字の太さが違う複数の .otf ファイルが入っています。

ダウンロードしたフォントのotfファイル

その中から好きなものを選び、Unity を開いて Project ビューにドラッグ&ドロップします。

Fontsフォルダの作成&フォントの挿入

Font Asset Creator の設定

Unity メニューから「Window > TextMeshPro > Font Asset Creator」を選択します。

FontAssetCreatorを開く

Font Settings から以下の内容を設定します。

Font Settings の変更内容

Source Font File:Unity に入れた日本語フォントをドラッグ&ドロップ

Atlas Resolution:両方とも「8192」に変更

Character Set:「Custom Characters」を選択

FontAssetCreator の FontSettings

Character Set を「Custom Characters」に変更すると、下部に「Custom Character List」を入力する欄が表示されます。ここに使用する文字のテキストを入力する必要があります。

文字のテキストは GitHubGist で提供してくれている方がいるので、そちらの文字テキストを使用させていただきます。以下のリンク先に飛び、ページ右側の「Download ZIP」を押します。

https://gist.github.com/kgsi/ed2f1c5696a2211c1fd1e1e198c96ee4

TextMeshProで使う日本語テキストのDL

ダウンロードしたファイルをテキストエディタなどで開いて確認すると、以下のように文字がびっしり詰まったテキストが確認できます。

文字テキストのファイルの中身

テキスト内の文字をすべてコピーして、Custom Character List に貼り付け「Generate Font Atlas」を押します。

Custom Character List に文字テキストを貼り付け

パッキングに時間がかかるため、完了までに少々お時間がかかるかと思います。

完了すると「Generation completed in: 〇〇」と表示されるので、下部の「Save」を押して作成したフォントを保存して下さい。

作成したフォントのセーブ

保存が完了すると .asset のフォントファイルが新たに追加されます。

Unity上で保存したフォントのアセットの確認

これで日本語フォントの使用準備は完了です。

TextMesh Pro で日本語フォントを表示してみる

TextMesh Pro が使われているテキストUIを選択し、 Inspector ビューを開いて「Font Asset」に先程作成した日本語フォントをセットします。

作成したフォントをFontAssetにセット

以前まで□しか表示されなかった日本語が正常に表示されるようになりました!

日本語フォントの表示対応完了

あわせて読みたい

TextMeshPro で使えるリッチテキストタグまとめ TextMeshPro で使えるリッチテキストタグまとめ【Unity】 【Unity】TextMesh Proではみ出たテキストを「...」で省略する方法 【Unity】TextMesh Proではみ出たテキストを「…」で省略する方法 TextMeshProのAuto Size を使ってフォントサイズを自動調整しよう 【Unity】Auto Size を使ってフォントサイズを自動調整しよう【TextMeshPro】