1. 程式人生 > >Unity3D-使用Bitmap Font Generator自定義字型

Unity3D-使用Bitmap Font Generator自定義字型

轉載自:http://blog.csdn.net/wuming22222/article/details/51713350

Bitmap Font Generator是一個開源免費軟體,下載地址http://www.angelcode.com/products/bmfont/ 
使用這個工具的過程中不要用中文目錄 
一、將字母或數字做成字型 
1.這是美術給的圖片 
這裡寫圖片描述

2.開啟BMFont, Edit—>Open Image Manager 
這裡寫圖片描述 
開啟Image—>Import Image,在目錄中選擇上述圖片37.png即“A”,並在Id處填寫A對應的ASCII碼值,點OK 
這裡寫圖片描述 
依次加入其他圖片與對應的ASCII碼值後,關閉視窗。 
這裡寫圖片描述

3.匯出設定 
這裡寫圖片描述

Width與Height決定了最後匯出的圖片的長寬,以剛好囊括所有文字圖片為宜,Texture決定了匯出的圖片的格式。設定好後,點選OK。

點選Options—>Save bitmap font as ,匯出,得到檔案: 
這裡寫圖片描述 
當Bit depth設為8時,並不是我們想要的 
這裡寫圖片描述

4.將這兩個檔案放到自己的Unity工程中,開啟NGUI的FontMaker(NGUI—>Open—>FontMaker) 
這裡寫圖片描述 
在Output中設定我們的字型圖片將要整合到哪個Atlas中去,然後點選Create the Font。

5.在Label中的使用 
這裡寫圖片描述

6.最終效果 
這裡寫圖片描述

二、聊天中的圖文混排

Font.txt

1>先將其中的副標題去掉 
這裡寫圖片描述

2>通過Notepad++中的[編輯->空白操作->移除非必需的空白和EOL] 和 文字文件中替換對話方塊 將檔案中的空白消除。

3>通過Notepad++中的[格式->轉為UTF-8編碼格式]將文字轉換為UTF-8格式 
最後是這樣的: 
這裡寫圖片描述

2.開啟軟體設定中文字型 
這裡寫圖片描述 
將Font.txt中的文字匯入進來,Edit—>Select chars from file 
這裡寫圖片描述

還可以通過多選框去選擇一些其他需要新增的字,例如英文字母,數字

3.接下來的操作參考:一、中的3,4,5得到字型 
在製作Atlas的過程中注意MaxSize大小要大於等於BMFont生成的png圖片的大小。 
這裡寫圖片描述

4.將表情圖片整合到字型所在的Atlas 
這裡寫圖片描述 
這些是在QQ中另存為得到的表情(正式專案中不要用馬化騰的表情,版權問題)。

5.對字型Prefab做如下設定: 
這裡寫圖片描述

其中的1是設定在chatFaceAtlas中存在的圖片,2是圖片對應的符號

4.在Label的text中寫入值為“New [email protected]@最快最直接”,最後效果圖: 
這裡寫圖片描述

三、使用BMFont的好處在於(官網寫了10來條,我這裡摘錄幾條)

1.Support for complete Unicode 8.0 character set, as well as 8 bit OEM character sets.

2.Optimal use of texture space, i.e. as little unused area as possible.

3.Support for kerning pairs.

4.Easy to use file format,eighter normal text file or xml files. Binary format is available for those that prefer that.

5.8 bit or 32 bit texture output(TGA,PNG, and DDS files)

posted on 2017-12-25 11:00 楊粼波 閱讀(212) 評論(0)  編輯 收藏 引用