Unity TMP(TextMesh Pro)字体导入及相关设置整理(官方文档整理)

https://docs.unity3d.com/Packages/com.unity.textmeshpro@4.0/manual/FontAssetsProperties.html

TMP(TextMesh Pro)字体导入及相关设置整理

核心结论:TMP字体导入需先准备字体文件,通过Font Asset Creator生成字体资源,再配置属性与 fallback 字体,最终应用于文本组件。

https://github.com/hongzhi725/AlibabaPuHuiTi/tree/main

一、字体导入核心步骤

  1. 准备字体文件:获取合法的字体文件(如 .ttf、.otf 格式),将其放入 Unity 项目的 Assets 文件夹中。
  2. 生成 TMP 字体资源:在 Unity 菜单栏选择「Window → TextMeshPro → Font Asset Creator」,打开字体资源创建窗口。
  3. 配置生成参数:在 Font Asset Creator 中,设置 Atlas Render Mode(如 SDF 适合缩放清晰显示)、Sampling Point Size、Atlas Width/Height 等参数。
    调Resolution到最大,保证生成字体贴图的分辨率
  4. 设置要生成的字符集:选择 Characters from File 拖入字符集文本
    https://github.com/wy-luke/All-Chinese-Character-Set
  5. 生成字体资源:点击「Generate Font Atlas」生成字体图集,完成后点击「Save」将 TMP 字体资源(.asset 格式)保存到项目中。

二、关键属性配置(生成后可调整)

1. Face Info(字体基础信息)

  • 控制行高、基线、上下标位置等核心 metrics。
  • Line Height 可调整行间距,超过 Ascent Line 与 Descent Line 之和会产生间隙,反之可能重叠。
  • 不可手动修改 Family Name、Style Name、Point Size,由生成时的字体文件和参数决定。

2. Atlas & Material(图集与材质)

  • 生成的字体资源包含自动创建的 Font Atlas(字体图集纹理)和 Font Material(渲染材质)。
  • 无需直接编辑这两个子资源,若需修改需通过 Font Asset Creator 重新生成。

3. Fallback Font Assets( fallback 字体)

  • 当当前字体缺少某些字符时,TMP 会按列表顺序搜索 fallback 字体。
  • 通过「Fallback Font Asset List」的「+」添加 fallback 字体,拖拽调整搜索顺序。

4. Font Weights(字体粗细与斜体)

  • 可指定不同权重(100-900)对应的字体资源,或启用「fake」模式模拟粗体/斜体。
  • Bold Weight 控制模拟粗体的强度,Italic Style 控制模拟斜体的倾斜程度。

三、补充说明

  • 动态图集模式:Atlas Population Mode 设为 Dynamic 时,可直接修改 Atlas 尺寸无需重新生成。
  • 字符调整:通过 Glyph Table 编辑单个字符的位置、大小等属性,Glyph Adjustment Table 可添加字符对间距(kerning)设置。
  • 性能注意:过多 fallback 字体会增加计算开销和绘制调用,需合理规划字体资源。
posted @ 2025-11-06 17:07  丘狸尾  阅读(34)  评论(0)    收藏  举报