> 技术文档 > Unity 中如何为 TextMeshPro 设置中文字体(完整图文教程)_unity textmeshpro 中文

Unity 中如何为 TextMeshPro 设置中文字体(完整图文教程)_unity textmeshpro 中文


TextMeshPro 是 Unity 中强大的文本渲染系统,但默认英文字体在处理中文时会出现“口口”乱码问题。本文将手把手教你如何设置支持中文的字体,适配 TextMeshPro。


🧩 一、问题现象

你在使用 TextMeshProUGUI 组件时,如果使用的是默认字体(如 LiberationSans SDF),输入中文会出现下图问题:

显示结果:你好吗 => 口口口


✅ 二、解决方案概述

要让 TextMeshPro 正确显示中文,需要:

  1. 准备一个包含中文字符的字体(如思源黑体、微软雅黑等);

  2. 使用 TextMeshPro 的 Font Asset Creator 工具生成字体资源;

  3. 将生成的字体资源应用到 TMP 组件上。


🛠️ 三、详细步骤

第一步:导入中文字体

  1. 找一款中文字体(推荐 思源黑体 或系统自带的 simhei.ttf);

  2. .ttf.otf 文件拷贝到 Unity 的 Assets/Fonts/ 目录下;

  3. Unity 会自动导入这个字体资源。

第二步:生成 TMP 字体资源(Font Asset)

  1. 选择顶部菜单:Window > TextMeshPro > Font Asset Creator

  2. 在面板中设置如下:

    参数 设置说明 Source Font File 拖入你的中文字体(如 simhei.ttf) Sampling Point 一般设置为 90(可调) Character Set 推荐选择 Custom Characters Custom Characters 输入你项目中要显示的所有汉字或复制整段文本 Atlas Resolution 选择 1024x1024 或更大(防止打包不全)
  3. 点击 Generate Font Atlas,生成后点击 Save 保存成 .asset 文件。

⚠️ 注意:中文字符非常多,建议你只导入项目中用到的字。


第三步:应用到 TextMeshPro 组件上

  1. 在场景中选择 TextMeshProUGUI 组件;

  2. 将你生成的 .asset 文件拖入 Font Asset 字段中;

  3. 现在可以正常显示中文了!


第四步:设置创建TextMeshPro的默认字体资源

        设置路径:Edit->ProjectSettings->TextMeshPro->Settings->DefaultFontAsset

现在可以正常显示中文了!