Unity在 TextMeshPro 中使用中文【转自 chutianshu / AwesomeUnityTutorial】
1. TextMeshPro 简介
TextMeshPro 包官方文档 最新版,请注意版本
2. 中文显示问题
Unity 的 TextMashPro 自带的几款字体都是英文字体,没有中文。
在 inspector 中设置中文,会显示成方块,无法正常使用
3. 问题解决方案
3.1 动态加载字体
-
步骤 1 :
下载字体,最好是开源字体,未来在项目中可以商用 -
步骤 2 :
在 Unity project 窗口中,在 Assets 下新建 Fonts 文件夹,导入下载好的字体
- 步骤 3 : 创建动态字体:选择下载好的字体,右键-Create-TextMeshPro-Font Asset
创建好的动态字体,会根据你使用过的文字,自动存储到 Atlas 中。
3.2 静态字体
静态字体效率会比动态的高,适合文字较多时使用
- 步骤 1 :
下载一个 “常用汉字” 的 txt 文件,必须用 Unicode 编码保存,比如 utf-8,将其导入 Unity - 步骤 2 :
在 Unity 菜单中,选择 Window -- TextMeshPro -- Font Asset Creator ,打开窗口- Source Font Flie,选择添加好的中文字体文件
- Character Set:选中 Characters from File 从文件获取文字
- Character File : 选中 txt 文件
- Generate Font Atlas :点击按钮,生成静态字体图集(比较慢的一个过程)
- Save:保存生成的字体 asset
在我的云盘中,分享了 16159 中文和符号 txt ,以及已经转换好的静态字体文件
下载链接:https://pan.xunlei.com/s/VMovVwhBhUQOnMxDnufbrVqRA1 提取码:3986
3.3 字体后备 Font Fallback
某些动态字体,在使用中文标点符号和一些特殊文字符号的时候,依旧会出现方块,这个时候可以使用 TextMeshPro 的 Font Fallback。Font Fallback 可以从另一个 FontAsset 中获取不包含在当前 FontAsset 中的字符。
可以用 Font Fallback 来外挂一些低频使用、或者特殊的符号、字体。
参考资料:
配套视频教程: https://space.bilibili.com/43644141/channel/seriesdetail?sid=299912
文章也同时同步微信公众号,喜欢使用手机观看文章的可以关注
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
2009-04-11 定義圓周率