【舊博客轉移 - 發布於2015年9月10日 16:07】
有時美術會出這種圖片格式的文字,NGUI提供了UIFont來支持BMFont導出的圖片字體
BMFont原理其實很簡單,首先會把文字小圖拼成一張大圖(合成一張圖上傳GPU性能會高一些)
然后生成一份配置,描述了每張小圖字符的Unicode編碼(這里是10進制),坐標,寬高,偏移量,等等信息
下面說一下制作步驟
BMFont安裝:http://pan.baidu.com/s/1jGvTAzc
打開BMFont
選擇:Edit/Open Image Manager
用ImageManager,Import圖片
ID就寫那個文字的Unicode編碼,這個可以在網上找一些工具轉換成16進制的Unicode,然后在轉成10進制
這里比較蛋疼需要一個一個的添加,建議把圖片名字命名成圖片中的字符,然后寫一個工具自動生成這個配置
把所有文字都添加好Unicode映射后,最好選擇Options/Save configuration as.. 保存一下這次編輯的配置,下次就可以直接Load config進來修改了
選擇Options/Visualize 預覽一下編輯的文字,檢查有沒有漏掉的
選擇Options/Export options 配置輸出參數,這里可以配置字體的間距,大圖的寬高(要填2的次方)
BitDepth: 選擇32位圖片質量會高一些,如果文字很多的話 選擇8位生成圖片體積比較小(8位在加載進內存后跟32位是一樣的大小)
Font descriptor 這里選擇Text就好了
配置好后Ctrl+S輸出,這里會輸出一張大圖,跟一份.fnt的配置
把這兩個文件導入到Unity中
記得把圖片設置成Sprite格式,apply保存
打開NGUI的Font Maker
Type選擇Bitmap, 拖入配置,跟字體圖片
點擊Crete后就生成了我們想要的字體prefab了
在UILabel中選擇myFont 就能看到效果了