https://docs.unity3d.com/Packages/com.unity.textmeshpro@4.0/manual/FontAssetsProperties.html
TMP(TextMesh Pro)字体导入及相关设置整理
核心结论:TMP字体导入需先准备字体文件,通过Font Asset Creator生成字体资源,再配置属性与 fallback 字体,最终应用于文本组件。
一、字体导入核心步骤
- 准备字体文件:获取合法的字体文件(如 .ttf、.otf 格式),将其放入 Unity 项目的 Assets 文件夹中。
- 生成 TMP 字体资源:在 Unity 菜单栏选择「Window → TextMeshPro → Font Asset Creator」,打开字体资源创建窗口。
- 配置生成参数:在 Font Asset Creator 中,选择「Source Font File」导入准备好的字体文件,设置 Atlas Render Mode(如 SDF 适合缩放清晰显示)、Sampling Point Size、Atlas Width/Height 等参数。
- 生成字体资源:点击「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 字体会增加计算开销和绘制调用,需合理规划字体资源。