跳到正文
Qiita · Unity 开发社区· 来源· tsukino_·· 4 小时前AI 评分21

Unity 中 TextMeshPro 运行时生成图集的方法

【Unity】TextMeshProのアトラス生成をランタイムで行う方法

正文 · 原文

TextMeshProを使用する際、フォントアセットを静的アトラスとして作成したことはありませんか?

静的アトラス方式では、アトラスを更新・生成する処理が走らないため、文字描画が原因のフレームドロップを防ぐことができます。

その反面で、生成されるアトラスが巨大なため、Githubでの管理が困難になるなど、アセットの肥大化問題が起こります。

そういったとき、TextMeshProの読み込みを動的モード(Dynamic)にすることで、肥大化問題を解消することができます。

本記事では、TextMeshPro(以後TMPと呼称)のアトラスをDynamicで生成する方法を紹介します。

最近のバージョンでは、デフォルトでDynamicに設定されており、そもそも設定が必要でない場合もあります。

前提知識

  • Unityのエディタ操作の基礎を理解している
  • TMPについて知っている

手順

日本語フォントを取得して、Unityのアセットへ置きます。

本記事の内容とそれてしまうため、詳しい方法は省略しますが、Google Fonts(下記URL)から取得しました。

本記事では、Noto Sans JPを使用しました。

スクリーンショット (1).png

Projectビューのフォントファイル(.ttfや.otf)を右クリックし、Create->Text Mesh Pro->Font Asset->SDFをクリックし、アセットファイル(Unityでフォントを使用するための形式ファイル)を生成します。

スクリーンショット (2).png

スクリーンショット (3).png

アセットファイルのInspectorビューのAtlas Population ModeをDynamicにします。

スクリーンショット (4).png

これで動的生成モードに変更ができました。

総括

  • アトラス生成のモードが静的だと、アセットの肥大化問題が起こり、githubでの管理ができなくなるなどのデメリットがある

  • Atlas Population ModeをDynamicへ変更することで、アトラス生成を動的に行うことができる

来源:Qiita · Unity 开发社区 · qiita.com