Unity中文变成方框/不显示

Unity中文变成方框/不显示

简单,但是不知道就不会。
base on:
“unity TextMeshPro 中文显示设置”
(此篇文章介绍了如何使用Font Asset Creator,底部博主提供的链接包含字体文件,生成的asset文件等。我使用了其中zh-cn_Commonly_Used文件,这个文件包含了常用的中文字)

“Unity 免费获取可以商用的中文像素字体”
(我下载了此篇文章中作者提供的链接中的字体)

//此处应该还有一篇,详细解释了Font Asset Creator中每项设置的内容,对我帮助很大,但是我找不到了,找到之后把这里改了
“Unity 中 创建 TextMeshPro 中文字体(含常见汉字 TXT 文件)”
喜报,找到了

在看完以上两篇博客并照做之后,仍然在对话框中出现了□,以下是我的解决过程

查看Inspector

此时应该有已经生成的字体文件(蓝色F标志的),选中字体文件,在Inspector(检查器)中拉到下方,应该可以看到character table选项。
Inspector
这个Character Table中只有103个字符,这就是我的对话框中总是出现方框的原因,character table没有覆盖对话中的字。点击展开,可以看到那些在里面的字符都长啥样。
Characters

再次使用Font Asset Creator

由于本人啥也不管直接默认生成了,导致了今天的惨剧。打开Font Asset Creator,这次在生成时需要改变一些设置。
解决问题更改的主要三个地方:

在这里插入图片描述
①Sampling Point Size采样点大小:数字越大越像一个字形,(以下是从别人博客看到的) 这个值在50-70之间为佳,太大可能导致一些字采不出来。

sample point size=6(默认似乎是这个):
请添加图片描述

sample point size=50:
请添加图片描述

②Atlas Resolution分辨率:也会影响可以采样的字的个数。曾经因为分辨率设置的太小导致只显示了文字中空的部分,导致我的对话框虽然没有了方框,但是变得一片空白。

512 * 512:
请添加图片描述
4096 * 4096
请添加图片描述

③Select Font Asset和Custom Character List
在更改了以上两个设置后,已经可以成功地使用绝大部分中文常用字。但是文案中仍有一些不太常用的字显示的是方框。这时候Character Set选择Customer Characters,拖入生成好的字体,在在Customer Character List中单独,手动地输入自己文案中特定的字就可以了。
使用Customer Characters来完善Font Asset,应该是在这个asset已经可以展示很多文字了,基本足够文案使用了,只需要添加一些特殊的文字,手打是我可以接受的工作量。注意此时重新生成并保存是覆盖了之前的asset,List中如果只包含新增的字,那保存之后就只有新增的那些字。若是初次生成font asset或者font asset中支持的字很少,还是应该选择Character from file,然后导入常用字txt文件。

生成成功,看到inspector中character table和自己选的txt里文字个数差不多就可以用了。
请添加图片描述

猜你喜欢

转载自blog.csdn.net/oliviaher/article/details/129292643