2022/7/18
TextMeshPro フォントAtlas作成のコツ
TextMeshProでフォントを表示するにはFont Atlasの作成が必要になります。 このAtlasの作成に毎度失敗して調べなおしになるのでひっかかりやすいポイントと情報をまとめる事にしました。(Unity 2021.3.2f1)
フォントAtlasの作成手順
- Window > TextMeshPro > Font Asset Creator を開きます。
- 設定を調整した後「Generate Font Atlas」でフォントを作成します。
- ジェネレート時のログで「Excluded characters」が1以上になっている場合はAtlas Resolutionが足りません。最下部に表示される画像がスカスカな場合は逆にAtlas Resolutionが余っているので小さくします。
- Save As でフォント用に作成したフォルダに保存します。
Font Asset Creator の設定項目
- Source Font File 元になるフォントを選択します
- Sampling Point Size Auto Sizing だと思わぬサイズで作成されてしまいフォントがつぶれたりする為必ずCustomSizeで作成します。サイズは50程あればそこそこ大きいサイズで描画してもつぶれません。フォントの角が丸まってもよい場合は20程度まで小さくできます。
- Padding この値が小さすぎると文字装飾で使える余白が減り太いOutlineや大きくずらしたUnderlayが使えません。Sampling Point Size の20%程度確保するとある程度自由に設定できるようになります。
- Packing Mwthod Fastで問題なさそうです。
- Atlas Resolution アトラスを展開できる領域のサイズです。日本語をほぼカバーするには4096x4096程度は必要になります。先ほど書いた作成手順を参考に調整します。
- Charactor Set 日本語フォントの場合は Custom Character を選択し Custom Character Listに使用する文字一覧を入力します。(参考1:UnityのText Mesh Proでほぼ全ての日本語を表示させる 参考2:[TextMeshPro]日本語一覧)
- Render Mode 基本はSDFAAで。SDF16等を使うと大きく表示した時もキリっと表示できるように感じましたが作成にすごく時間がかかります。
- Get Kerning Pairs 特定文字ペア間の間隔を調整する為のデータを元のフォントからコピーします。