宝塔服务器面板,一键全能部署及管理,送你10850元礼包,点我领取

BMFont 快速入门教程

BMFont 快速入门教程-风君子博客

简介

什么是BMFont?这是个软件,全称Bitmap font generator,顾名思义,位图文字生成器。这个工具就是用来生成位图文字字体配置文件的,.fnt文件。
这里介绍是因为游戏开发中经常用到这个,主流的各大游戏引擎都支持使用BMFont字体格式,如Cocos、Unity3D等。

优劣势

  • 较之使用TTF(TrueTypeFont),生成文字的速度更快。
  • 可批渲染,这个很重要,降低DC。
  • 值得注意的是,如果字体文件(配置文件+合图)过大,首次加载的速度较慢,占用内存较大。
  • 可自定义,美术可定制任意字体。

下载安装

BMFont是个免费软件,界面简单干净,上手容易。
http://www.angelcode.com/products/bmfont/

入门教程(快速导出一个字体文件)

一、字体设置

  • Options – font settings 进入字体设置界面BMFont 快速入门教程-风君子博客
  • Font:选择系统已安装的字体库(TTF),这里可以理解为我们可以根据矢量字体画出一张张文字纹理,最后转换保存为我们需要导出的位图字体文件。
  • Add font file:可以选择.ttf字体文件进行加载
  • Charset:字符编码,我们通常选择Unicode
  • Size:位图文字的大小,也就是最后我们保存文字在合图中的大小。
  • Bold,Italic:粗体,斜体。
  • 最后我们点Ok保存。

二、输出设置

  • Options – export options 进入输出设置界面
    BMFont 快速入门教程-风君子博客
  • Texture:
    • Width,Height:生成合图的长宽,需要自己调整,太小文字放不下到一张图里,会创建多个分图(filename_0,filename_1…);太大则浪费空间。
    • Bit depth:合图位数,这里我们选32位。
  • File format – Textures:这里我们选择用png格式保存合图。
  • 保存设置。

三、选择字符

BMFont 快速入门教程-风君子博客

  • 现在我们开始选择需要处理的字符了。
  • 界面右侧是各个字符编码集合区域,所有字符按照编码被划分为一个个字符集,我们可以点击某个字符集去挑选里面的字符。
  • 界面左侧就是某个字符集里对应的所有字符了,点击某个字符既可以选择。
  • 红框中的9和右下角的57,表示了“9”这个字符的ID是57,这个ID唯一映射对应的字符。

四、快速选择字符

一个个挑实在是太慢了,BMFont提供了快速选择字符的方法。

  • Edit – Select chars from file
  • 选择一个文件,如test_font.txt,注意,文件编码得用utf-8,不然读取到的字符是乱的。
    BMFont 快速入门教程-风君子博客

五、使用自定义图片替换某个字符

  • Edit – Open Image Manager
    BMFont 快速入门教程-风君子博客
  • 点击 Import image 导入图片,这里的Id就是上面我们提高了字符索引ID,相当于我们会用导入的这张图片替换对应ID的字符。
    BMFont 快速入门教程-风君子博客
    点击OK进行保存。

六、输出

  • Options – Save bitmap font as …,或者直接Ctrl+S
  • 成功输出后,我们将得到一个{name}.fnt文件和一张{name}.png合图
    BMFont 快速入门教程-风君子博客
  • 查看.fnt的文件格式,我们可以看到:
    • 第一行定义了字体相关的配置。
    • 第二行定义了合图的相关配置,如长宽、各个通道。
    • 第三行定义了合图的文件路径。
    • 第四行开始,描述了各个字符索引所对应在合图中的位置和偏移。
      BMFont 快速入门教程-风君子博客