原地址:http://blog.csdn.net/luyuncsd123/article/details/18351057
網上搜BMFont做字體,很多都是從一個字體文件讀取,然后選擇需要的字,然后保存成圖片文字,這個對於一般的文字的確很實用,因為Unity本身不支持中文,所以只好這樣了。
但是做過游戲的都知道,策划總是喜歡用一些亂七八糟的數字字體,而美工丟給你的也只有圖片文件,像這樣:
於是最開始我就自己實現了一個類,來處理這種情況,不過實際上使用起來還是挺麻煩。因為字體這種東西別人都已經實現了,我這是在重復造輪子。
來看看BMFont怎么弄吧。
其實BMFont自己就有個圖片管理器,不過之前一直不會用,后來在別人的指點下加上自己的研究,算是搞懂了。
打開圖片管理
一開始看到這個還在想怎么用,后來別人告訴我那個Image是可以點的。。。卧槽
想要吐槽的是這個居然不能批量添加。。。
以下是添加圖片的界面
沒有什么特別需求,除了ID,參數默認就好,記得ID不能重復,否則直接頂掉。ID怎么知道,等我慢慢道來。。。
在字符選擇面板上,隨便把鼠標放到一個字上面,然后看右下角
第一個數字就是ID,另外你會注意到0那個字符有個標記,因為剛才我導入的時候輸入的ID就是0的ID,所以BMFont會把它標記出來,意思是這個用的是自定義圖片。
大概就是這種感覺
來預覽一下
最后就是導出了,導出網上有很多教程,這里就不細說了。
我選擇的是PNG格式,圖片大小選擇128X128即可,看你自己的圖片是多大來決定了
放游戲里看看,效果不錯,使用簡單。
轉自 http://www.cnblogs.com/hejianchun/articles/3022732.html
1.大家可以在這免費下載到我們今天的主角工具BMFOnt。 下載BMFont
2.我們把它安裝好后打開它,就是個樣子了。
3.我們現在來制作我們想要的一些文字,這里我用來測試。新建一個txt文本文檔,里面我的內容是: 大家好 。切記保存為UTF-8編碼格式。
4. 一切准備工作都做好了。現在我們來用BMFont來制作我們想要的文字吧。首先我們來設置下字體(就是顯示的是用哪種字體),選擇Options---Font setting.
這里我選擇用微軟雅黑(如果你不喜歡用微軟雅黑,你也可以選擇你自己喜歡的字體,如果你電腦沒有你喜歡的字體,那么你只需要從網上下載你喜歡的字體安裝即可選擇你喜歡的字體,一般我們在游戲當中都會用些好看的字體來增加我們游戲的美感,這里就會用到其它字體,那么你就可以這樣做了)。其中設置的一些參數如下。
我來解釋下上面比重重的設置參數:
Size:字體的大小 Match char height: 匹配字符的高度
Bold:字體加粗 Ltalic:斜體
Font smoothing:讓字體平滑 Level:就是字體的水平距離
一般設置像上面的一樣都能滿足平時的要求。(這里的設置就是我們以后會用到的字的屬性)
5. 字體設置好了,那我們現在來導入我們剛才的txt(切記UTF-8格式)。選擇Edit—select cahr from file 。
當我們導入后,我們可以看看是否成功了,在左下角可以看見,如圖(我這里的txt里只有3個字,你也可以自己隨意增加)
6. 我們接下就是要對最終導出結果設置。選擇Options—Export options
設置參數如下:
這里要注意是:
- Spacing : 2個字體之間的間隔是多大
- Width Heigth 這個就是我們等下導出的圖片的大小。這里要注意數字越大占用的資源空間就越大,所以我們要選個合適的值(2的n次冪)。
- Bit depth 選擇32,要不你的字體不會很清晰。
- Font descriptor 選擇Text.
- Textures 最好選擇png吧
A,R,G,B我就不多說了。
7. 我們現在來開始導出了選擇Options—save bitmap font as.
隨便取個名字吧,我這里就叫bmf.點擊保存。
8. 到剛才導出的文木,我們現在就能看見我們有着2個文件了。
我們把bmf.fnt改成bmf.txt。 如圖
我們現在可以打開看看里面的內容(這個在后期會講到,有點重要)
其實這里面就是我們隊字體設置的屬性
9. 好了,我們把這2個文件放進有導入NGUI插件的工程來制作文字吧(NGUI里面有文字自作功能,如果是mac系統的話,無需NGUI,就可以下載Hiero這個軟件來制作了)。我們打開NGUI的字體制作面板,Shift+Alt+F。如圖:
10.現在讓我們來顯示我們的字吧,通過NGUI創建UI,創建widget(選則label吧)。效果圖如下:
在上面我們可以看到我寫的是大家好 顯示了嗎,其實質顯示了大家好3個字在里面。這個原因就是我在制作字體的時候,在txt里面也就只有大家好這3個字。所以就顯示了這3個字,其他的沒有顯示出來,由此大家可以自己隨意加入自己想要的字體。
雖然現在NGUI支持動態字體了,但是我覺得這個以后還是有機會用到的。
當我們運行的時候,有的童鞋會發現字體不清晰,這個問題我也弄了很久才弄好了,如果你覺得字體比較細,想加粗點,那么你可以在第四步的時候把Bold打鈎,outline thickness的值增大為2 ++;我們在設置一下導入unity中的字體圖片的屬性 如圖:
再來看看是不是清晰很多了。 呵......