Unity 中如何为 TextMeshPro 设置中文字体(完整图文教程)_unity textmeshpro 中文
TextMeshPro 是 Unity 中强大的文本渲染系统,但默认英文字体在处理中文时会出现“口口”乱码问题。本文将手把手教你如何设置支持中文的字体,适配 TextMeshPro。
🧩 一、问题现象
你在使用 TextMeshProUGUI
组件时,如果使用的是默认字体(如 LiberationSans SDF
),输入中文会出现下图问题:
显示结果:你好吗 => 口口口
✅ 二、解决方案概述
要让 TextMeshPro 正确显示中文,需要:
-
准备一个包含中文字符的字体(如思源黑体、微软雅黑等);
-
使用 TextMeshPro 的 Font Asset Creator 工具生成字体资源;
-
将生成的字体资源应用到 TMP 组件上。
🛠️ 三、详细步骤
第一步:导入中文字体
-
找一款中文字体(推荐 思源黑体 或系统自带的
simhei.ttf
); -
将
.ttf
或.otf
文件拷贝到 Unity 的Assets/Fonts/
目录下; -
Unity 会自动导入这个字体资源。
第二步:生成 TMP 字体资源(Font Asset)
-
选择顶部菜单:
Window > TextMeshPro > Font Asset Creator
; -
在面板中设置如下:
参数 设置说明 Source Font File 拖入你的中文字体(如 simhei.ttf) Sampling Point 一般设置为 90
(可调)Character Set 推荐选择 Custom Characters
Custom Characters 输入你项目中要显示的所有汉字或复制整段文本 Atlas Resolution 选择 1024x1024
或更大(防止打包不全) -
点击 Generate Font Atlas,生成后点击 Save 保存成
.asset
文件。
⚠️ 注意:中文字符非常多,建议你只导入项目中用到的字。
第三步:应用到 TextMeshPro 组件上
-
在场景中选择
TextMeshProUGUI
组件; -
将你生成的
.asset
文件拖入 Font Asset 字段中; -
现在可以正常显示中文了!
第四步:设置创建TextMeshPro的默认字体资源
设置路径:Edit->ProjectSettings->TextMeshPro->Settings->DefaultFontAsset
现在可以正常显示中文了!