Unity 中 TextMeshPro 运行时生成图集的方法
【Unity】TextMeshProのアトラス生成をランタイムで行う方法
TextMeshProを使用する際、フォントアセットを静的アトラスとして作成したことはありませんか?
静的アトラス方式では、アトラスを更新・生成する処理が走らないため、文字描画が原因のフレームドロップを防ぐことができます。
その反面で、生成されるアトラスが巨大なため、Githubでの管理が困難になるなど、アセットの肥大化問題が起こります。
そういったとき、TextMeshProの読み込みを動的モード(Dynamic)にすることで、肥大化問題を解消することができます。
本記事では、TextMeshPro(以後TMPと呼称)のアトラスをDynamicで生成する方法を紹介します。
最近のバージョンでは、デフォルトでDynamicに設定されており、そもそも設定が必要でない場合もあります。
前提知識
-
Unityのエディタ操作の基礎を理解している -
TMPについて知っている
手順
日本語フォントを取得して、Unityのアセットへ置きます。
本記事の内容とそれてしまうため、詳しい方法は省略しますが、Google Fonts(下記URL)から取得しました。
本記事では、Noto Sans JPを使用しました。
Projectビューのフォントファイル(.ttfや.otf)を右クリックし、Create->Text Mesh Pro->Font Asset->SDFをクリックし、アセットファイル(Unityでフォントを使用するための形式ファイル)を生成します。
アセットファイルのInspectorビューのAtlas Population ModeをDynamicにします。
これで動的生成モードに変更ができました。
総括
-
アトラス生成のモードが静的だと、アセットの肥大化問題が起こり、
githubでの管理ができなくなるなどのデメリットがある -
Atlas Population ModeをDynamicへ変更することで、アトラス生成を動的に行うことができる
来源:Qiita · Unity 开发社区 · qiita.com



