Unity TextMeshPro中文字体的转换与显示

Unity  TextMeshPro功能非常强大,但是我们用默认的字体格式却无法显示中文,必须把字体转换之后才能正常显示中文。

具体转换方法:

1、准备好字体,ttf或otf格式都可以,如:SOURCEHANSANSCN-NORMAL.OTF

2、准备好常用字体文本,可以搜索常用汉字字库,放到txt文本中。

3、字体文本和字体都拖到Unity场景中。

4、转换,在编辑器菜单点击Window->TextMeshPro->Font Asset Creator,进入转换页面。

Unity TextMeshPro中文字体的转换与显示_第1张图片转换页面如下图:

 Unity TextMeshPro中文字体的转换与显示_第2张图片

在上图中Source Font File,添加字体 ,如:SOURCEHANSANSCN-NORMAL.OTF,在Character File添加准备的汉字字库文本,如7000常用字.txt。其中Altas Resolution选择默认就行,但是选择的尺寸越大,字体的体积就越大,清晰度越高。但实际应用中,不能为了省内存而设置太低,太低字体就会很糊。

我的配置如下:

Unity TextMeshPro中文字体的转换与显示_第3张图片

配置好后点击Generate Font Atlas,耐心等待转换。

转换完成后,我们会看到详细的转换结果:

Unity TextMeshPro中文字体的转换与显示_第4张图片

此时我们不必急着关闭窗口,还需完成最后一步:保存转化的字体。

通过点击Save或Save as后,在弹窗中填写文件名或者保持默认,再点击保存,那么转化的字体就完成了。

此时,我们就可以在TextMeshPro组件中添加转化的字体并且正常显示中文了。

Unity TextMeshPro中文字体的转换与显示_第5张图片

你可能感兴趣的:(unity,游戏引擎,c#)