BMFONT用法
http://blog.csdn.net/u010975088/article/details/51566735
NGUI制作字體的三種方法
主要參考兩篇博文:
?(1)、NGUI制作字體的三種方法
?(2)、使用位圖字體工具BMFont從圖片生成自定義字體
1.BMFont下載地址
http://www.angelcode.com/products/bmfont/
2.BMFont使用方法
http://momowing.diandian.com/post/2013-01-24/40046239211
首先打開Font Settings,選擇要制作的字體??梢詮腇ont列表中選擇一種字體,也可以通過Add font files導入一個ttf字體文件。
Charset字體編碼默認為Unicode,當然也可以選擇其它的。
點擊OK,字體設置成功。
?
然后打開Export Settings,進行導出設置
Width和Height的值,盡量選小,只要能夠容納我們需要用到的所有字就可以了,選大了浪費。
Bit depth,32位比8位更清晰,不過負擔更大。
Font descriptor選擇Text
Texture選擇png
選擇OK,完成導出設置。
?
接下來我們就可以選擇我們所要制作的字,一個一個去找太麻煩了,我們可以先新建一個txt文件,在其中輸入我們要制作的字,然后Select chars from file就可以直接選中所有要用到的字了。
注意
1.在導入前要先clear all chars in font。
2.由于txt文件的編碼方式不是在上面設置的unicode,所以我們要對這個txt文件另存為unicode方式,并覆蓋。否則,在導入時會提示charcters from the file are not available in the font
?
最后Save bitmap font as就可以導出一個png和一個fnt,將fnt改為txt格式。這就是我們在ngui中制作bitmap字體所用到的兩個文件了。
3.新版NGUI提供的三種創建字體方式
(1)使用BMFont制作的png文件和txt文件制作bitmap字體。分別將兩個文件拖入texture和font Data里面。?缺陷:局限于個別字。不能隨意改變。還要用外部工具BMfont來創建字體集。
(2)動態字體,需要先導入一個ttf字體文件。C/windows/fonts下面就有很多。也可以從網上下載一些獨特的字體。
導入后,拖入Source中,選擇size等就可以創建一個字體。
也可以另外手動創建http://momowing.diandian.com/post/2013-05-07/40051478498
注意看下面的提示:要使用動態字體,不必創建UIFont,只需要在UIlabel中選擇Unity,再將ttf文件拖入font中即可。
缺點:動態字體不能作為一個atlas的一部分,所以使用動態字體必然要增加至少一個draw call。而且ttf文件一般較大,會大大地增加包大小
?
(3)可以使用ttf字體文件來創建一個bitmap字體。 與第二種方法類似,區別只是這種方法創建的字體不需要使用BMFont來創建,直接在Unity內部就可以創建,只要我們導入了相應的ttf文件。 而且與第二種方法相同的是,打包時只會包含一個png,一個prefab,一個material,而不會把ttf包含進去。本篇講解如何利用美工提供的字符圖形來生成自定義字體。
美術提供的字體經常是下面這樣的:
或者這樣的:
這時候我們就要借助BMFont了,首先針對真彩色的圖形,我們要做一些設定,點擊"Options"->“Export options”:
?
在彈出的窗口中,注意紅框中“位深”,設為32:
然后,點擊"Edit"->"(Un)Select all chars",取消選擇所有字符。因為我們將在后邊導入需要的字符。
OK,現在點擊"Edit"->"Open Image Manager":
彈出圖片管理窗體,如下:
那個"Image"是菜單,可以點擊。選擇"Image"->"Import image...":
彈出如下窗體:
點擊"Browse"按鈕,在彈出的“打開”窗口中選擇一個字符圖片,比如"0":
然后在ID后的文本框中輸入字符"0"的Ascii值:48,點擊"OK"。
這時返回主窗體,你會看到字符表中"0"右下角有一個小亮點標記,說明該字符的圖形為自定義圖片。如下圖:
按上述方法,依次加入其它字符的圖片,完成后如下:
OK,下面準備導出。導出前我們可以先點擊"Options"->"Visualize"預覽一下:
最后得到如下文件:
將生成的這兩個文件,拖入上面提到的NGUI制作方法(一),的兩個框框內,點擊create,即可生成需要的UIFont的Prefab。
總結
- 上一篇: BMFont 字体生成工具使用
- 下一篇: python实用小工具之一:BMFont