TextMeshProのワークフロー

近々リリースするゲームでTextMeshProを利用したので、そのワークフローをまとめてみる。

FontAssetの作成

TextMeshPro(以下TMP)では、フォントのデータをそのまま使うのではなく、専用のアセットを生成してそれを使う。

作り方

メニューの「Window」→「TextMeshPro」→「Font Asset Creator」を開く。

f:id:div8:20170829170512p:plain

「Font Source」
使用するフォントを割り当てる。

「Atlas Resolution」
TMPでは、使用する文字を1枚の画像ファイルにする(アトラス化)
その画像サイズを指定する。
日本語を含める場合など、文字数が多い場合は大きなサイズにする必要がある。

「Font Size」
アトラス化する際の各文字の大きさの設定。
Auto Sizingは「Atlas Resolution」で設定した画像サイズに合わせて自動で設定してくれる。今回はAutoSizingを利用した。
アセットを生成した後でサイズがいくつになったのか確認できるので、サイズの大小に合わせてAtlas Resolutionを調整するとよい。

「Font Padding」
各文字の間隔。今回は規定値を利用。
文字の装飾にアウトラインを付ける場合、間隔を詰めすぎていると隣の文字が邪魔をするので注意。ちなみに規定値で問題なかった。

「Charactor Set」
使用する文字の設定。今回は、「Custom Characters」を使用し、ASCII文字、ひらがな・カタカナ、全角の記号類、ゲーム内で使用する漢字を直接入力した。
「Character from File」を使えば、テキストファイルから使用する文字を指定できたので、そちらで管理すれば早かったと後悔。

 その他の項目については省略(規定値のまま)。

 

一通りの設定ができたら「Generate Font Atlas」のボタンを押す。
画像が生成されたら、ログでフォントのサイズを確認する。不必要に大きかったり、小さすぎる場合にはAtlas Resolutionを調整して、再度生成する。

問題がなければ「Save TextMeshPro Font Asset」のボタンを押して、アセットを保存する。

Font Assetの再生成

今回、文字セット(使用する文字)をどうしたかというと、ASCII文字、ひらがな・カタカナ、全角の記号類は一通りを文字セットに含めた。

漢字については、使用頻度の高い漢字をまとめて文字セットに含めてしまうと無駄が多いので、必要な漢字だけ含めるようにした。 したがって、開発途中で使用する漢字が増えるたびにアセットを再生成し、上書き保存を行った。

上書き保存してもペアカーニングやマテリアルなどの設定は引き継がれるため、あとで必要な文字が変わっても問題なく作業が行える。