TextMesh Pro 1: Übersetzung von offiziellen Website-Artikeln, Video-Tutorial zur grundlegenden Verwendung

Praktische Referenz: Unity3d Tutorial | TextmeshPro Dynamic Font | Fallback | Backup Font | UI_哔哩哔哩_bilibili

Ursprünglicher Link: TextMesh Pro: Erstellung von Schriftart-Assets – Unity Learn

1. Einleitung

Stellen Sie sich Font Assets als Font-Container vor, sodass Sie alle Arten von ausgefallenen Fonts im Projekt verwenden können, aber nur eine zugehörige Datei verwenden müssen, ohne die ursprüngliche Font-Datei wiederholt zu ändern.

Wenn Sie benutzerdefinierte oder lokale Schriftarten verwenden möchten, verpackt Font Assets Creator die Schriftartdateien in Altas (Schriftartzuordnungen), bei denen es sich um eine Organisationsdatei (Texturdatei) handelt, die alle grundlegenden Schriftartelemente enthält.

So verwenden Sie den Font Assets Creator:

1.  Erstellen Sie einen neuen Ordner zum Speichern von Schriftartdateien Sie haben Schriftartdateien auf Ihrem Computer (Laufwerk c->Windows->Schriftart).

2.  Klicken Sie in der UNITY IDE auf Fenster -> TextMeshPro -> Fon Asset Creator , und nach dem Klicken erscheint das folgende Fenster.

Ziehen Sie dann die Schriftartdatei auf Quellschriftdatei . Klicken Sie auf Font Atlas generieren  , nachdem die Generierung abgeschlossen ist, werden Font Altas mit schwarzem Hintergrund und weißen Zeichen angezeigt , wählen Sie einen Ordner zum Speichern von Font Altas .

Wenn Sie werfen möchten, speichern Sie es nicht zuerst, es gibt noch viele Dinge, die debuggt werden können:

Quellschriftdatei: Dies ist der Ort, an dem die Schriftartquelldatei abgelegt wird

Abtastpunktgröße/Schriftgröße : Dies bestimmt die Genauigkeit der SDF-Abtastung (Signed Distance Field) bei der Reproduktion der Schriftart. Die Standardeinstellung Auto Size versucht, den Atlas mit allen Zeichen aus der Schriftart zu füllen. Bei der Einstellung Benutzerdefiniert führen höhere Werte zu einer besseren Wiedergabe. Im Allgemeinen ist eine Punktgröße von 50 bis 70 ein guter Bereich. Seien Sie jedoch vorsichtig, denn eine zu große Stichprobengröße verhindert, dass einige Zeichen im Atlas erscheinen.

(Dieser Parameter bestimmt die Abtastgenauigkeit von SDF (Signed Distance Field) beim Generieren von Zeichen. Die Standardeinstellung, d. h. „Auto Size“, versucht, alle in Ihrer Schriftartdatei enthaltenen Zeichen in die generierte Schriftartzuordnungsdatei (Font In Altas). Wenn Sie die Option Benutzerdefinierte Größe wählen, müssen Sie den Wert zu diesem Zeitpunkt manuell festlegen. Je größer der Wert, desto höher die Genauigkeit der Schriftart- und Grafikkonvertierung. Normalerweise liegt der Bereich zwischen 50 und 70. Dies sollte beachtet werden dass ein zu hoher Wert dazu führt, dass einige Zeichen nicht in der Schriftzuordnungsdatei erscheinen)

Polsterung : Dies bestimmt die Größe von Effekten (Konturen, Glühen, Abschrägungen usw.) aus Schriftmaterialien. Im Allgemeinen ist es gut, wenn die Polsterungsgröße in einem Verhältnis von 1:10 zur Stichprobengröße steht. Eine Stichprobengröße von 60, z sollte beispielsweise eine Polsterungsgröße von 6 haben. Dies ist jedoch keine feste Regel. Das Brechen dieses Verhältnisses kann interessante Effekte erzeugen, die möglicherweise besser zu Ihrer ästhetischen Vision für Ihre Projekte passen. (Der Abstand zwischen Zeichen, der Parameter It  will Beeinflussen Sie die Wirkung von Schriftmaterial wie Umriss, Halo, Abschrägung usw. Nehmen Sie normalerweise eine Auffüllgröße/Abtastpunktgröße von 1: 10. Aber die Verwendung anderer Verhältnisse kann einige interessante Effekte erzeugen.)

Verpackungsmethode : Die Methode, mit der der Atlas gefüllt wird.Schnell ist gut für die schnelle Vorschau von Schriftarten, während Optimum am besten für den endgültigen Atlas reserviert ist.
Atlas-Auflösung : Die Größe der Atlas-Textur. Diese wird durch die Sampling-Punkt-Größe und -Auffüllung bestimmt. Sie sollten die Atlas-Auflösung auf 2048 x 2048 für Projekte begrenzen, die auf Mobilgeräte abzielen. (Die Größe der endgültig generierten Textur, dieser Parameter bestimmt die Auflösung der font map .Die Parameter werden durch die Parameter Sampling Point Size und Padding bestimmt.Für Projekte auf mobilen Plattformen sollte die Atlas-Auflösung auf 2048x2048 begrenzt werden.)

Zeichensatz: Bestimmt den Zeichenbereich, der innerhalb der Schriftart verwendet werden soll. Der Standardwert ist ASCII.

 Wählen Sie den Zeichensatz aus, der Standardwert ist ASCII, und einige andere Optionen werden wie folgt beschrieben

  • Benutzerdefinierte Zeichen: Fügt Zeichen aus einem Eingabefeld oder einem anderen Font Asset hinzu

  • Benutzerdefinierter Bereich: Fügt Zeichen aus einem Hexadezimalbereich (16 进制) hinzu

  • Unicode-Bereich (Hex): Fügt Zeichen aus einem Unicode-Bereich hinzu

  • Zeichen aus Datei: Fügt eine Reihe von Zeichen aus einer Datei hinzu. Dies kann für die Lokalisierung oder ein Szenario nützlich sein, in dem das manuelle Ausfüllen eines Atlas unpraktisch wäre.

Render Mode: Determines how text will be presented. While displaying text at rasterized bitmaps is still supported, use SDF modes unless you’re rendering a small font on a 1:1 ratio (i.e., 10pt font rendered 10px on the screen). (确定文本的显示方式。虽然仍支持在光栅化位图上显示文本,但除非以1:1的比例渲染小字体,即在屏幕上渲染10px的10pt字体,否则请使用SDF模式。)
Get Kerning Pairs: TextMesh Pro can optionally use the kerning information embedded in the font, if available. (可以选择使用 kerning information  )

3. Once all settings are to your liking, select Generate Font Asset to import your new font.

Once your Font Asset has been created, you can access individual settings within the Inspector.(在你设置完毕后,点击Generate Font Asset 生成你的字体,生成好字体文件后,你可以在面板中设置独立的属性)

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

Beim dynamischen Füllen eines Schriftatlas kann es vorkommen, dass die Anzahl der Zeichen die Größe des Atlas überschreitet. In diesem Fall werden nicht passende Zeichen automatisch in einem neuen Atlas platziert und als Fallback dem vorherigen zugewiesen atlas. Dies ist das zugrunde liegende Prinzip von Multi-Atlas-Texturen – die Fähigkeit, neue Atlanten nach Bedarf während der Laufzeit zu füllen. Während ihr Speicherbedarf größer ist, können sie für die Lokalisierung wertvoll sein und Flexibilität für die Änderung von Atlanten zur Laufzeit bieten. ( Zeichen Wenn es zu viele sind, werden zwei Dateien erzeugt, und die letztere dient automatisch als Fallback für die vorherige.Das ist das Grundprinzip von Multi-Atlas-Texturen.Dieser Mechanismus nimmt viel Speicherplatz in Anspruch, ist es aber flexibel.)

Ich denke du magst

Origin blog.csdn.net/BernardCODE/article/details/121956468
Empfohlen
Rangfolge