纳金网

标题: Unity3.5中内建精简字体字库方法讲解 [打印本页]

作者: 她。    时间: 2012-7-16 15:25
标题: Unity3.5中内建精简字体字库方法讲解
在Unity3.5中内建了精简字体字符的功能.更加方便,也非常利于修改等等.在此之前一直用FontSbusetPack进行精简.为什么要精简字库集?最简单的一个原因就是为了让Unity发布的移动设备能文本能使用字体来定义样式.



Unity内建的用法很简单,只需选择放入的字体,修改Character项为"Custom set",接着出现Custom Chars中输入你想使用的字符串,字符重复无所谓,因为最终会自动过滤掉重复字符.如输入"你好世界",那么整个字体最终只包含"你好世界"这四个字的字符贴图,也就是你仅仅能用这个字库来显示"你好世界"这几个字.最简单的测试办法只选择字体,在GameObject-Create Other-GUIText创建一个使用所选字体的文本标签来测试就可以了.



这里有一个脚本,用于将一个文本文件里包含的字符串读入并赋予给Custom Chars编辑框中.这个脚本特点是可以按照字符重复次数多少排序,即用该文本文件中用的次数越多这个字符会越靠前排列提升读取速度.另外会将键盘上的字母,数字及其他符号自动包含其中.感谢 Unity郭振平 编写和分享该脚本.



首先将下列脚本(见本文附件)保存为"UnicodeTextImporter.cs"文件放项目资源目录里的Editor文件夹内.





然后找个你需要的字体放入项目中,只好选择这字体,在检视面板中设置你需要的字体尺寸,颜色等.然后选择"Character"为"Custom set".



将你最终用来显示的文本内容以UTF-8编码保存为文本文档存于Assets/Resources(推荐的,放在任意目录下都可)中.



接着在项目视图选择这个字体文件,在Unity顶部菜单选择AssetDatabase-Import Font with Text File,会弹出打开文件对话框. 选择上面存放于Resources文件夹中的文本文件.



成功导入后会显示"ImportFontWithTextFromFile: Final Unicode String: xxxxx"字样.重新选择一次字体且选择字体的贴图会看到类似如下的精简结果.



至此精简工作完成.



如遇读取进来的不正确,有乱码现象,需检查文本编码是否为UTF-8,并且需要重启Unity才能再次正常执行该插件。
作者: 她。    时间: 2012-8-3 18:38
我爱纳金网~www.narkii.com
作者: 王者再临    时间: 2012-12-30 15:50
学习了,虽然还是有难度,谢谢楼主的用心  
作者: 狂风大尉    时间: 2012-12-31 01:49
谢谢楼主的帖子分享,学习了





欢迎光临 纳金网 (http://go.narkii.com/club/) Powered by Discuz! X2.5