新建一个TMP控件;在hierarchy面板右键->UI->选择 Text-TextMeshPro
一般来说;在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文本自己新建一个;然后里面的内容就是你需要显示的中文字符集合