TextMesh Pro 1: 公式サイトの記事の翻訳、基本的な使い方のビデオ チュートリアル

実用的なリファレンス: Unity3d チュートリアル | TextmeshPro ダイナミック フォント | フォールバック | バックアップ フォント | UI_哔哩哔哩_bilibili

元のリンク: TextMesh Pro: フォント アセットの作成 - Unity Learn

1 はじめに

Font Assets をフォント コンテナーと考え​​てください。これにより、プロジェクトであらゆる種類のファンシー フォントを使用できますが、元のフォント ファイルを繰り返し変更することなく、1 つの関連ファイルのみを使用する必要があります。

カスタム フォントまたはローカル フォントを使用する場合、Font Assets Creator はフォント ファイルを altas (フォント マップ) にパッケージ化します。altas は、すべての基本的なフォント要素を含む編成ファイル (テクスチャ ファイル) です。

Font Assets Creator の使用方法:

1. フォント ファイルを保存する新しいフォルダを作成する コンピュータにフォント ファイルがあります (c ドライブ -> Windows -> フォント)。

2.  UNITY IDE でWindow -> TextMeshPro -> Fon Asset Creator をクリックし、クリックすると以下のウィンドウが表示されます。

次に、フォント ファイルをSource Font Fileにドラッグします。[フォント アトラスの生成] をクリックします。生成が完了すると、背景が黒で文字が白の[フォント アトラス]が表示されます。フォント アトラスを保存するフォルダーを選択します

投げたい場合は、最初に保存しないでください。デバッグできるものがまだたくさんあります。

ソース フォント ファイル:フォント ソース ファイルが置かれている場所です。

Sampling Point Size / Font Size : これは、フォントを再現する際の SDF (Signed Distance Field) サンプリングの精度を決定します。自動サイズのデフォルト設定では、アトラスにフォントのすべての文字を入力しようとします。Custom に設定すると、値が大きいほど再現性が高くなります。通常、50 から 70 のポイント サイズが適切な範囲です。ただし、サンプリング サイズが大きすぎると一部の文字がアトラスに表示されなくなるため、注意が必要です。

(このパラメーターは、文字を生成する際の SDF (Signed Distance Field) のサンプリング精度を決定します。デフォルト設定、つまり「自動サイズ」では、フォント ファイルに含まれるすべての文字を、生成されたフォント マップ ファイル (Font In) に埋めようとします。カスタム サイズ オプションを選択した場合は、この時点で値を手動で設定する必要があります. 値が大きいほど、フォントとグラフィックの変換の精度が高くなります. 通常、範囲は 50 ~ 70 です.値が高すぎると、一部の文字がフォント マップ ファイルに表示されなくなります)。

パディング: これは、フォント マテリアルからの効果 (アウトライン、グロー、ベベルなど) のサイズを決定します. 一般に、パディング サイズがサンプリング サイズに対して 1:10 の比率であることが適切です. 60 のサンプリング サイズは、たとえば、パディング サイズは 6 にする必要があります。ただし、これは厳格な規則ではありません。この比率を破ると、プロジェクトの美的ビジョンにより適した興味深い効果が得られます。(文字間の間隔、パラメータは  、アウトライン、ハロ、ベベルなどのフォント素材の効果に影響を与えます。通常、パディング サイズとサンプリング ポイント サイズは 1:10 とします。ただし、他の比率を使用すると、興味深い効果が得られます。)

Packing Method : The method by which by which the atlas is populated. Fast はフォントをすばやくプレビューするのに適していますが、Optimum は最終的なアトラス用に予約するのが最適です.
アトラス解像度: アトラス テクスチャのサイズ. これは、サンプリング ポイント サイズとパディングによって決定されます. モバイル デバイスをターゲットとするプロジェクトでは、アトラス解像度を2048x2048 に制限する必要があります. (生成される最終的なテクスチャのサイズ。このパラメータは、font map .The parameters are defined by the Sampling Point Size and Padding parameters. モバイル プラットフォーム上のプロジェクトの場合、アトラスの解像度は 2048x2048 に制限する必要があります。)

文字セット:フォント内で使用する文字の範囲を決定します。デフォルトは ASCII です。

 文字セットを選択します。デフォルトは ASCII です。その他のオプションについては、次のように説明されています。

  • カスタム キャラクター: 入力フィールドまたは別のフォント アセットから文字を追加します。

  • カスタム範囲: 16 進数(16 制)の範囲から文字を追加します

  • Unicode 範囲 (16 進数): Unicode 範囲から文字を追加します

  • ファイルからの文字: ファイルから一連の文字を追加します。これは、ローカリゼーションや、手動でアトラスを作成することが現実的でないシナリオに役立ちます。

Render Mode : テキストの表示方法を決定します. ラスター化されたビットマップでのテキストの表示は引き続きサポートされていますが、小さいフォントを 1:1 の比率でレンダリングする場合 (つまり、10pt フォントを画面上で 10px にレンダリングする場合) を除き、SDF モードを使用します。テキストの表示方法。ラスタライズされたビットマップでのテキストの表示は引き続きサポートされますが、小さいフォントを 1:1 の比率でレンダリングする場合 (つまり、10pt フォントを画面上で 10px でレンダリングする場合) を除き、SDF モードを使用してください)。
Get Kerning Pairs : TextMesh Pro は、可能な場合、フォントに埋め込まれたカーニング情報をオプションで使用できます。(カーニング情報を使用することもできます)

3 . すべての設定が気に入ったら、 Generate Font Assetを選択して新しいフォントをインポートします。

Font Asset が作成されると 、Inspector 内の個々の設定にアクセスできます

2. Dynamic and static Font Assets 动 / 静态字体资源

Sometimes we need to populate a Font Atlas with specific characters. One practical reason is creating a font from a subset of characters. This is particularly useful for languages with massive character sets (over 50,000 for Chinese). Most games use about 1,000 characters at most, and games with full Chinese and Japanese language support are some of the few that approach this range. Dynamic SDFs are an alternative way of populating a font atlas with only the characters we need by typing them into the input field. Font fallbacks will be used for all remaining characters as needed.(有时我们需要用特定地字符填充字体图集。如从字符子集创建字体。这对于具有大量字符集的语言(中文字符集超过50000)特别有用。大多数游戏最多使用1000个字符图形,而且要到1000个字符也是少数完全支持中文和日文的那种游戏。动态SDF只生成会用得到的字符集文件,动态asset会生成一个0Mb的asset资源,然后根据输入实时生成字符集合,优点是优秀的空间使用,但是会带来一定的性能负载。剩下的字符如果你想使用我们还有 Font fallbacks 功能)

If desired, the font atlases generated by these dynamically populated Font Assets can be exported, modified to contain external characters (i.e., remapping ‘A’ to a symbol not found in any font atlas), then reimported into Unity.(如果有需要, 动态生成的字体文件可以导出,然后往里面假如外部字符(也就是说可将一个特殊形状的“A”导入其中),然后重新导入Unity。)

步骤如下:

1. Navigate to your desired font within the project hierarchy. Then right-click Create > TextMeshPro > Font Asset. This will create a Font Asset with an empty atlas.(在你的字体文件图标上,依次点击Create > TextMeshPro > Font Asset ,这样你会在同目录下得到一个空的字体图文件)

2. Click on the newly created Font Asset. In the Inspector, navigate to Generation Settings and make sure Atlas Population Mode is set to Dynamic. (点击这个空内容的字体图文件,然后在对应的设置面板中让 Atlas Population Mode 的设置为 Dynamic)

3. Navigate to the TextMeshPro Object, choose this new Font Asset, and input the desired characters as needed.(然后你就可以到对应的 TextMeshPro 组件中使用生成的字体图啦)

It’s good to pack Font Assets dynamically when you need to populate an atlas at runtime (such as for any input fields). However, this requires the source font to be referenced and included within the project build. Static Font Assets are good for containing characters you know will be used throughout the project (menu items, dialog subtitles/text boxes, etc.). As Static Font Assets include all the characters required for the project, they do not need to reference the original font source file.(当您需要在运行时填充字体图的时候,使用动态打包字体资产是很好的。但是,这需要在项目中引用并包含源字体。静态字体资源适合于事先已知在整个项目中将要使用的字符(菜单项、对话框字幕/文本框等)。由于静态字体资源包括项目所需的所有字符,因此它们不需要引用原始字体源文件。)

In short, use static Font Assets for your “knowns” and dynamic Font Assets for your “unknowns.”

3. TMP设置

The TMP Settings Asset found in the TextMesh Pro > Resources folder is used to assign and manage default fonts, Sprites, and fallbacks. While we can apply local settings to individual fonts, the settings in this asset will affect every TextMeshPro Asset in the Scene .

TextMesh Pro>Resources-> TMP Setting  用于  TextMeshPro插件的默认设置)

4. Font Weights

Font weights describe the various appearances your font can take, i.e., bold, italic.(Font weights 用于设置可采用的各种外观,即粗体、斜体等。)

These variations can either be loaded from a new Font Asset or “faked” via the following settings, some of which are default values (你可以导入新的字体实现效果,也可以方便地直接用Font weights 的设置来实现)

5. Font fallbacks

Occasionally we want to reference characters that our font doesn’t contain. Instead of replacing our primary Font Asset, we can instead rely on a fallback. Fallbacks are additional Font Assets that will be referenced when a character does not exist in our primary font.(有时需要用到字体图中不包含的字符。无需替换条字体图文件(font asset、SDF),而是使用fallback ,fallback 的存在就是为了当你的主字体图文件中不包含某个字符时,使用其他的字体资源文件)

Font fallbacks can be set globally within the TMP Settings Asset or locally per Font Asset.(可以设置一个 global 的 fallback ,也能给每个字体图单独设置 fallback)

6. Multi-Atlas Textures

フォント アトラスを動的に設定する場合、文字の量がアトラスのサイズを超える場合があります。この場合、収まらない文字は自動的に新しいアトラスに配置され、以前のアトラスにフォールバックとして割り当てられます。アトラス. これはマルチアトラス テクスチャの基本原理です.実行時に必要に応じて新しいアトラスを生成する機能です.メモリフットプリントは大きくなりますが,ローカリゼーションの使用には価値があり,実行時にアトラスを変更する柔軟性を提供します. ( char多すぎると 2 つのファイルが生成され、後者のファイルは自動的に前のファイルのフォールバックとして機能します. これがマルチアトラス テクスチャの基本原理です. このメカニズムは多くのメモリを占有しますが、フレキシブル。)

おすすめ

転載: blog.csdn.net/BernardCODE/article/details/121956468