分享

unity 3d中NGUI显示清晰中文字体

 zmshang 2013-06-12

unity 3d中NGUI显示清晰中文字体

查看: 334|回复: 0

Rank: 9Rank: 9Rank: 9

威望
0 点
义气
0 点
楼主
发表于 2013-5-8 17:51:31 |只看该作者
步骤:
1.安装bmfont,然后打开bmfont,选择options菜单->Font settings,界面如下:
下载连接: http://pan.baidu.com/share/link?shareid=398767&uk=2938378817



2.选择“微软雅黑”(注意不是“@微软雅黑”,没有“@”符号,否则之后导出的字体是横向的),unicode编码,如下图:


ok,请看界面最下面一栏29180个字符!显然太多了。

3.我们来选择字符表(也就是你的游戏或软件将要用到或你估计会用到的中文字符)


这里我们导入选择为txt文本的文件(里面是你想要的一些文字)。
出错了:


这是因为文本编码问题,那我们在文本编辑器中选择另存为,然后选择utf-8编码,保存。然后再次select chars from file。
成功,看下边栏,2500个汉字。
如果我们还要使用到数字、英文、符号,请点击


4.好,共2692个字符了。准备导出,选择options->Export options,设置如下图:


5.然后起个名字保存,options->save bitmap font as...,我们得到fnt和png文件。
将.fnt文件改为.txt,其实它本来就是个文本,改成txt是为了NGUI方便使用,把这些文件拷贝到我们unity工程中的资源目录。

BM font无用了,下面在NGUI中使用Font Maker创建字体。


打开Font Maker,将字符文本txt和新生成的png图片拖进去,如图。


点击“Create a Font without an Atlas”则在右侧文件夹中生成了myfont.mat和myfont.prefab两个文件。
说明:如果没选择图集(即Atlas:None)则会新生成,会有额外的draw call。如果选择现有的则把font的图集加入到现有的中去。

我们来测试下字体,通过NGUI创建UI,创建widget(选则label吧),效果如图:

当我们运行的时候,有的童鞋会发现字体不清晰,这个问题我也弄了很久才弄好了,如果你觉得字体比较细,想加粗点,那么你可以在第二步的时候把Bold打钩,outline thickness的值增大为2  ++;我们在设置一下导入unity中的字体图片的属性  如图:



再来看看是不是清晰很多了。  呵......

来源:http://www.cnblogs.com/hejianchun/articles/3022732.html

15195601-a10fbd10ccdc448c91a833fbe5f3b89a.png (34.08 KB, 下载次数: 5)

15195601-a10fbd10ccdc448c91a833fbe5f3b89a.png

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多