【Unity】TextMeshProでカスタムフォントを使う方法|Font Asset Creatorで日本語対応・解像度・軽量化まで完全解説
使用環境
・Unity Editor:2021.3.18f1
この記事で学べること
- Font Asset Creatorを使ってカスタムフォントを作成する方法
- 日本語フォントをTextMeshProで使う方法
- フォントのサイズ・スタイル・レンダリング設定の最適化
- 動的フォントと静的フォントの違いと使い分け
- よくあるエラーと解決策
※ 多言語対応(日本語対応)は以下のサイトを参考にしてください。
Font Asset Creatorとは?
今日は「TextMeshProでカスタムフォントを使う方法」を学んでいこう。UnityのFont Asset Creatorを使えば、好きなフォントや日本語フォントも簡単に使えるようになるよ。
えっ、日本語フォントってそのままじゃ使えないんですか?
「□」みたいな文字が出ることがあって困ってました…
私はフォントを入れたんですけど、
なんだかぼやけたり潰れたりしてキレイに表示されなくて。
サイズの設定とか難しそうです…
うんうん、大事なのは「必要な文字だけを含める」ことと「解像度・レンダリング設定」なんだ。
このページでは、Font Asset Creatorの使い方から日本語対応、フォント最適化、よくあるエラーの解決まで丁寧に解説していくよ。
Font Asset Creatorの使い方
Font Asset Creatorは、TextMeshPro(TMP)で使用するカスタムフォントを生成するためのツール です。
Unityに標準で搭載されており、フォントファイル(.ttf / .otf)から専用のフォントアセット(.asset)を作成できます。
- カスタムフォントをTextMeshProで使えるようにする
- 日本語や特殊文字をサポート
- フォントの最適化(サイズ・解像度の調整)
Font Asset Creatorを開く
- [Window] → [TextMeshPro] → [Font Asset Creator] を選択
- Font Asset Creatorウィンドウが開く

フォントアセットの作成
➡ .ttf や .otf フォントを簡単にTextMeshProで使えるフォーマットに変換できる!
Static(静的)は登録済みの文字を使う方式で、表示する文字が事前に決まっている場合に向いています。Dynamic(動的)は元のフォントから必要な文字を実行時に追加できる方式で、表示する文字を事前に確定できない場合に使います。Dynamicでは元のフォントファイルもビルドに含める必要があります。
- [Source Font File] にフォント(.ttf / .otf)をセット
- [Sampling Point Size] を設定
- [Atlas Resolution] を収録文字数やポイントサイズに合わせて設定
- [Character Set] を選択
- ASCII(英数字)
- Extended ASCII(英数字 + 特殊記号含む)
- Custom Characters(自分で文字を選ぶ)←よく使う
- [Render Mode] を選択
- [Generate Font Atlas] をクリック
- [Save as…] で保存

日本語フォントの設定
日本語フォントが表示されない原因
TextMeshProのデフォルトフォントには、日本語の文字が含まれていないため、通常の方法では「□(豆腐)」が表示される。
・ 解決策 → Font Asset Creatorで日本語フォントを作成!
Google Fontのダウンロードリンク:Google Font
※ Canvas、TextMeshProについて気になる方はこちらを参考にしてください。
日本語フォントを適用する方法
➡ 「必要な日本語文字だけを含める」ことで、ファイルサイズを削減できる!
- 日本語フォント(例:Noto Sans JP、源ノ角ゴシック)を用意
- Font Asset Creatorの[Source Font File]に日本語フォントをセット
- 文字を直接入力する場合は、[Character Set] → [Custom Characters] を選び、[Custom Character List]に必要な日本語の文字を入力
- ファイルから指定する場合は、使用する文字を記載した.txtファイルをプロジェクトにインポートし、[Character Set] → [Characters from File] を選んで、[Character File]にそのテキストアセットをセット
- フォントアセットを生成し、TextMeshProのフォントに設定
フォントの最適化設定
Sampling Point Size(ポイントサイズ)
・[Sampling Point Size]は文字を生成するポイントサイズ
・[Auto Sizing]では、必要な文字がアトラスに収まる最大サイズが選ばれる
Atlas Resolution(フォントテクスチャの解像度)
・必要な解像度は、収録文字数・[Sampling Point Size]・[Padding]によって変わる
・下表は候補の目安。生成結果で文字の収まり方と実際の表示を確認する
| 設定値 | 用途 |
|---|---|
| 512×512 | 収録文字が少ない場合の候補 |
| 1024×1024 | 文字数とポイントサイズに応じて検討 |
| 2048×2048 | 収録文字が多い場合の候補(日本語など) |
| 4096×4096 | 小さいアトラスに収まらない場合に検討 |
Render Mode(レンダリング方式)
・「SDFAA」は生成が速く、多くの用途で十分な品質。細部の精度が不足する場合は「SDF」なども比較する
| 設定 | 説明 |
|---|---|
| SDFAA | 生成は速いがSDFより精度は低め |
| SDF | 生成は遅いがSDFAAより高精度 |
| Bitmap | ピクセルフォント向け |
よくあるエラーと解決策
日本語フォントが表示されない(□になる)
・フォントアセットに日本語の文字を含めているか確認
・[Character Set] で [Custom Characters] を選択し、日本語の文字を追加
フォントがぼやける
・収録文字数・[Sampling Point Size]・[Padding]・[Atlas Resolution]の組み合わせを見直す
・固定ポイントサイズのままでは、アトラスだけ大きくしても文字の解像度は上がらない
・生成結果の文字欠落と実際の表示を確認し、必要に応じて[Render Mode]も比較する
まとめ
・ Font Asset Creatorを使えば、カスタムフォントをTextMeshProで使える
・ 日本語フォントは「Custom Characters」で作成し、必要な文字だけ含めると軽量化可能
・ フォントサイズや解像度を最適化して、クオリティを向上






サイトアイコン-2-150x150.png)