Unity使用TextMeshPro显示字体
作者:快盘下载 人气:文章目录
如何使用创建TMP字体资源不能显示中文Unity的UGUI;有一种类型的文本------TextMeshPro;简称TMP;其实就是一种矢量字体;利用有向距离场;SDF;原理;实现让字体的边缘清晰;当我们缩小或者放大字体;TMP字体的边缘也会很清晰;下面介绍下 如何使用这种控件和 解决显示不了中文的问题。
如何使用
新建一个TMP控件;在hierarchy面板右键->UI->选择 Text-TextMeshPro
创建TMP字体资源
一般来说;在Windows / TextMeshPro / Import TMP Essentials导入资源之后;都会有默认的LiberationSans - OFL字体;不能显示中文;下文解决;;如果没有;我们也可以通过Windows / TextMeshPro / Font Asset Creator新建一个资源;Font Asset Creator界面打开如下图;
Source Font File是选择字体文件;这种文件在网上有很多;但是如果你使用的是windows10系统;那么可以在Window10自带的字体里面选一种或者多种导入unity;然后使用;windows10系统自带的字体文件一般在C:WindowsFonts下;例如;
选择一种字体文件;然后复制到Unity项目所在的AssetsTextMesh ProFonts目录下;接着等Unity导入完毕;就可以在字体选择位置看到你刚刚导入的字体类型;如下;
选择Generate Fone Atlas;然后保存到默认目录就好;这个时候就可以在字体选择位置看到刚刚导入的字体类型。
不能显示中文
通常Unity3D默认自带的TMP字体不能显示中文;解决的方法是在Font Asset Creator中;漏掉了一个关键步骤;Character Set选择Characters from File;Character File选择导入的txt文本文件;这里的Character File是可以自己新建一个txt文本;然后在文本输入常用的汉字和字符;生成的时候就会有对应的字符图集;比如我新建一个generalChineseFont.txt的文本;在里面输入“面朝大海”四个字;那么在TMP的文本框里面输入“面朝大海”;面朝大海四个字就可以显示出来;如果输入的汉字没有在generalChineseFont.txt里面;就会显示一个框;演示示意图如下所示;
所以;不能显示中文;就需要在Character Set选择Characters from File;Character File选择导入的txt文本文件;这个txt文本自己新建一个;然后里面的内容就是你需要显示的中文字符集合
加载全部内容