在做unity游戏教程的过程中遇到问题,原框架的角色对话框不显示中文。一开始以为是中文在C#脚本里跑了一圈变成乱码了,看了半天代码,也没看出个一二三四。突然灵光一闪,之前在web实验的时候用图片代替数字,所以这个游戏里的文字会不会其实是预先做好的图片,然后看了半天,没找到想象中的图片在哪。最后发现了TextMesh Pro文件夹
百度了一下,这是一个很好用的字体渲染工具,后来被unity收购了,整合到了2018以后的unity中。找了问题所在,剩下的思路就清晰了。
首先要做一个中文字体文件,在Window->TextMeshPro->Font Asset Creatorve,这是是一个制作SDF字体文件的工具,也就是TextMeshPro这个工具的一部分。
在Assets下做一个Font文件夹放字的文本和字体。那个SDF就是最后做出来的,我们需要的字体文件。
字的文本文件
把这个工具全屏后,在右边可以看到做出来的字体所占图像的空间是什么样的,由此来判断字体的大小和画布的大小设置的是否合适。
在SDF文件的检查器下可以查看做出来的文件,具体包含了那些字。
把做出来的SDF文件拖到Font Asset就可以用了。
我做的字体文件:https://download.csdn.net/download/weixin_42375964/11993495