Unity3D中使用BMFont

游戏开发中经常会遇到使用艺术字的情况,比如游戏战斗过程中掉血、回血、回蓝等头上冒字,这时候一般需要一些艺术化的字体效果。

Unity3D中显示文本目前常用的方案是使用UGUI的Text组件。要使用Text组件来显示艺术字,就需要找到一个艺术字字库文件(.ttf)。然而,这有几个弊端:

1、通常情况下字库文件并不好找,还有版权等问题。

2、字库文件一般很大,而我们只是用到其中很少的几个字(比如0到9的数字和+、-号)。

3、美术一般会给字设计个性化的描边和阴影,字库文件无法满足这一要求。

实际中,美术一般会给出一堆图片文件,每个图片是一个字,如图:

我们当然还是希望能使用Text组件来显示了,这样程序上操作文本组件的接口是统一的,这就该我们今天的主角BMFont上场了。


准备工作

1、BMFont64.exe

下载地址:http://www.angelcode.com/products/bmfont/

2、BMFont Maker Unity插件

下载地址:https://files.cnblogs.com/files/imteach/BMFont.zip


制作字体文件

1、打开BMFont64.exe,点击Edit下的Open Image Manager菜单

2、在打开的Image Manager窗口有一个Image菜单,可以进行图片导入、编辑和删除操作。

3、点击Options/Export options菜单,设置导出选项

注意几点:

1)width、height根据原图片大小设置为合适的值,如果设置的太大,导出的图片有很大空白,造成空间浪费;如果设置的很小,导出图片可能会有多张,影响drawcall;值要设置成2的整数次幂

2)Bit depth选32

3)Presets选White text with alpha

4、点击Options/Save bitmap font as..菜单,选择位置后进行保存操作,最终会得到两个文件(*.fnt和*_0.png)


导入Unity3d

1、安装插件,将下载到的BMFont.zip解压后放到工程的Assets目录下,编译完成后,会在Unity编辑器上生成一个Tools/BMFont Maker菜单。

2、将上一步生成的*.fnt文件和*_0.png文件导入Unity。

3、在Unity中创建一个空材质,材质shader选GUI/Text Shader,将刚才导入的png纹理拖到FontTexture属性上。

4、在Unity中创建一个Custom Font,后缀名是.fontsettings,将刚才创建的材质拖到Custom Font的Default Material属性上。

5、点击Tools/BMFont Maker菜单,在打开的窗口中,选择相应的文件进行赋值。Target Font设置我们刚创建的.fontsettings文件,Fnt Data设置.fnt文件,Font Material设置材质文件,Font Texture设置.png文件。

6、点击Create BMFont,完成字体创建,然后我们就可以在Text组件中像使用ttf字体一样使用我们创建的fontsettings字体了。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 翻译自:https://unity3d.com/cn/learn/tutorials/topics/best-pr...
    chiguozi阅读 1,213评论 0 10
  • 一、概念 参考网页字体Serif和Sans-serif的区别及浏览器字体的设置CSS Font知识整理总结 1.F...
    合肥黑阅读 6,424评论 0 12
  • 转自链接 目录 1.认识NPOI 2.使用NPOI生成xls文件 2.1创建基本内容 2.1.1创建Workboo...
    腿毛裤阅读 10,751评论 1 3
  • 引言 cocos creator基础-(八)cc.Label使用 1: 掌握cc.Label组件使用; 2: 掌握...
    游戏开发大表哥阅读 1,498评论 0 0
  • 精进 做任何决定都要利他,利他等于利自己。 领悟 到了这个年龄发现惊喜越来越少。可能是因为获得的结果是可以预见的。...
    kiyoi2017阅读 104评论 0 1