Unity TextMeshPro 添加中文字体遇见的问题以及解决方案
1. 前言
按标准官方教程为 Unity TextMeshPro 添加中文字体时出现了各种奇奇怪怪的问题,于是有了这篇随笔。
2. 中文字体解决方案
以下步骤适用于 TextMeshPro 3.0.6。
2.1 字符数量较少
- 下载好想用的字体,例如汉仪黑体-40s,或者在系统里找ttf/otf/ttc等后缀名的字体文件;
- 将字体拖到 Unity Project 某个文件夹下;
- 右键字体文件,Create->TextMeshPro->Font Asset,就会根据字符需求动态生成可用字体库。
2.2 字符数量较多
- 下载好需要的字体文件并拖到 Unity 中;字体文件名最好是英文!字体文件名最好是英文!字体文件名最好是英文!
- 下载常用字符表,例如3500 常用汉字 标点 字母,同样拖到 Unity Project 某个文件夹下;
- 打开字体创建器,Windows->TextMeshPro->Font Asset Creator
- 字体文件拖到 Source Font File,
Packing Method 选择 Optimum,
Atlas Resolution 选择必须大于 512 * 512,
Character Set 选择 Character from File,
Character File 选择字符表,
点击Generate Font Atlas,
慢慢等,然后 Save As,就能生成可用字体库。
2.3 搞定
3. 遇见的问题
Q:Font Asset Creator - Error Code [Invalid_File_Path] has occurred trying to load the [xxx] font file. This typically results from the use of an incompatible or corrupted font file.
A: 将字体文件名改为英文。
Q:Character excluded from packing
A: Atlas Resolution改大点。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)