LoginSignup
2
5

More than 3 years have passed since last update.

Google Fonts を使って TextMeshPro で日本語を表示する

Posted at

Unity の TextMeshPro で Google Fonts のフォント利用しつつ、日本語を表示する方法をまとめました。

Google Fonts とは

Google が提供してくれているフォントサービスです。基本的に無料で利用でき、日本語にも対応しているフォントがたくさんあります。もちろん非対応のフォントのほうが多いですが・・・。好きな書体があればすぐに使えるのがメリットだと思います。下の画像のようなフォントがたくさんあるので、まずは上のリンクからさっと見てみるとモチベーションが上がると思います。

手順

  1. まずは普通にブラウザで Google Fonts から日本語が使えるフォントをダウンロードします。(例えば NotoSansJP を開き、Download Familyを押します。zip ファイルの中に otf が入っているはずなので、後でそれを使用します。)
  2. ここからはUnityです。TextMeshPro をインストールします。Window -> PackageManager を開き、検索ボックスに TextMeshPro をいれて探すのが楽かもしれません。
  3. インストールするとウィンドウが開くので、Import TMP Essentials を押して閉じます。
    2021-03-15_16h50_15.png
  4. Window -> TextMeshPro -> Font Asset Creator を起動します。
  5. 以下の値を設定して Generate Font Atlas を押します。登録する文字(※1)は Custom Characters を選択すると入力できる Custom Charcter List に貼り付けます。
    2021-03-25_22h07_45.png
  6. 出力までに時間がかかるので待ちます。(手軽にやるなら Packing Method を Fast にするとここの待ち時間が短くなります。)
  7. Save を押して Font Asset を保存します。
  8. 上で保存したファイルを TextMesh Pro の Font Asset に設定します。

※1

  • 漢字など第二水準までは UnityのText Mesh Proでほぼ全ての日本語を表示させる の記事がまとめてくれています。
  • 第二水準まで全部入れようとすると、Atlas Resolution が 8192x8192 でないと入らないかもしれません。一度試しにやってみたところ 131MB というアホみたいなファイルサイズになりました。ちょっと無謀だと思うので、何かを削ることを考えないといけないかと思います。
  • 上記リストの までが第一水準と信じて、それ以降を削除しつつ、Atlas Resolution を 4096 x 2048 にしたところ 18MB ぐらいまで減りました。この辺が妥協点なのではと思い、上記設定値はそうしてあります。
2
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
5