本文地址:https://blog.csdn.net/t163361/article/details/125927276
最近准备申请新星创作者,需要2000个粉丝关注,觉得文章有用的,请点一下左侧边栏的关注,谢谢。
闲述
之前用Unity的UIToolkit制作了一个加密工具,最近简单改进了下方便使用。
功能做完后发现无法显示中文。貌似之前也显示不了中文,只是当时没处理。
尝试了各种办法最终找到一个可以临时处理的方案。
Unity的版本是2021.3.6f1c1
从Unity2021.3开始,UIToolkit就已经内置,既可以制作Editor的扩展,也可以制作实时的界面。非常适合制作工具,做游戏界面的话就不是很是适合了。
显示汉字解决方案:
1.添加一套汉字字库,比如阿里的普惠体,字体需要放到Resources/Font & Materials/文件夹下
2.原始字库的Character需要改成Dynamic
3.菜单中Window->Text->Font Asset Creator
Character Set要选中Custom Characters,然后把常用的汉字和字符复制到Custom Character List中
4.点击Generater Font Atles生成纹理,然后保存
5.在UIBuilder中选中需要改字体的元素,Font Asset选刚刚设置的字体就可以了。
UIToolkit中无法使用TMP的字体,但是刚刚那种方式创建的字貌似和TMP应该是一样的。没有深究
Demo演示的例子可以看这篇文章
问题留存:
虽然我字库和字体资源都设置的是动态生成,但这种方式只能支持提前生成好的字,不清楚为啥无法动态生成。有知道的大神,请留言告知一下,不胜感激