ついこのあいだ無料化された TextMeshPro ですが、このアセットを使うにはフォントファイルからフォントテクスチャ(画像)として専用のテクスチャを作成する必要があります。
この際、必要な文字だけテクスチャに焼き込んで使う機能があり、そのぶんデータを削減することができます。
Unity本体にもフォントデータを削減する機能はあるので、uGUIなどでフォントデータを削減したい場合はこちらを参照ねがいます。
ゲーム内で使用する文字を準備
下のような感じで、ゲーム内で使用する文字を列挙したテキストファイルを用意しておきます。
YeahYeahWowWowかき混ぜろ カレーをもっとかきまぜろ 食中毒には きをつけろ カバディカバディ Unityユニティ
ファイル内で 文字が重複しても問題ない ので、エクセルなどに書いたリストをコピペするだけでもいけます。
TextMeshPro 用のフォントマテリアルを作成
TextMeshProには専用のマテリアル作成ウインドウが付属しています。
メニューから Window > TextMeshPro > Font Asset Creator と選択し、ウインドウを表示します。
表示したらまず Font Source 欄に使用したいフォント(otfやttf)ファイルを設定します。
今回お借りしたフォントはこちらのフリーフォントです。
Character Set 欄で Characters from File を選択、Character File にさきほど作成したテキストファイルを設定します。
この状態で Generate Font Atlas ボタンを押します。
するとこんな感じの文字テクスチャが作成されます。
一番下の Save TextMeshPro Font Asset ボタンを押して保存すると、TextMeshPro専用マテリアルが作成できます。
TextMeshProコンポーネントにマテリアルを設定
ではシーンにTextMeshProを配置してみましょう。
Hierarchyウインドウから Create > UI > TextMeshPro - Text と選択すると、uGUIでのTextMeshProが作成されます。
TextMeshPro UGUI というコンポーネントが追加されているので、この Font Asset 欄に作成したマテリアルを設定します。(末尾SDFのファイル)
この状態で下のようなテキストを入れると
シーン内には以下のように描画されます。
テクスチャに焼き込んでいない文字は文字化けしています。
ビルドして容量を比較してみる
テクスチャアトラスのサイズを、512x512と256x256の二種類用意してビルドしてみました。
解像度との兼ね合いもあるので、実際の画面表示を見ながら最適なサイズを探してください!