1. 程式人生 > >unity制作圖片字體

unity制作圖片字體

場景 ria 使用 菜單欄 文件夾 read ext alt 修改

參考http://blog.sina.com.cn/s/blog_6768751b0101niao.html
http://forum.china.unity3d.com/thread-20425-1-1.html

有時候美術會給出一系列的藝術字,例如數字0,1,2,3,4,5,6,7,8,9,這些字以圖片的形式給開發人員,這時候圖片的用法怎麽用呢?

第一種想到的方法是把圖片按字命名,然後以字為key存成字典,獲取的時候通過字去獲取(如代表數字1的圖片命名為1,字典key為1,獲取時通過Dictionary[1])。

這種方式太過老土~~~~,於是有了第二種,把美術圖片做成一個字體(改字體無法調節字體大小,只能通過縮放調整)

一.根據美術圖片制作.fnt文件
1.下載bmfont軟件,打開後選擇選擇Options---Font setting.

技術分享圖片

Font :字體,Size:字體的大小, Match char height: 匹配字符的高度 Bold:字體加粗, Ltalic:斜體
Font smoothing:讓字體平滑 Level:就是字體的水平距離

2.字體設置好了,導入字體圖片。選擇Edit—Open Image Manager 。Import Image 導入圖片,Delect刪除選中的圖片,圖片導入的時候要保證id不一樣,id值隨意。

技術分享圖片

技術分享圖片

3.保存字體為.fnt文件Option-Save bitmap font as...,生成一個.fnt和.png文件。

二.根據上一步.fnt和.png文件,生成字體。
1.導入Font Setter Packer插件,導入上一步生成的.fnt和.png文件
2.設置.png文件

技術分享圖片

3.打開Unity中菜單欄中Window->Font Editor窗口

技術分享圖片

4.選擇需要編輯的字體圖片文件,選擇設置的圖片

技術分享圖片

5.進入自動設置模式,其實是半自動,因為還是要手動輸入對應的字母或漢字

技術分享圖片

6.逐個輸入對應的字母或漢字,每輸入完一個以後按回車鍵會自動進入下一個字母的輸入模式,所有字母都輸入完成後按Stop退出自動模式

技術分享圖片

7.點擊+1,增加一個空格字符,並將空格字符對應的位置放在合適的位置,調整好寬度和高度(可以不要)

技術分享圖片

8.設置字符對應區域的錨點的垂直位置,註意,同一行的錨點必須保證在同一水平線上,可以直接用鼠標拖動調整錨點位置,也可以直接通過修改Y的值來精確設置錨點的垂直位置

技術分享圖片

9.打包

技術分享圖片

技術分享圖片

10.使用
此時可以看到asset文件夾下多出來幾個文件font-1(Font),font-1(Font)(Packed),font-1(Material),font-1(Material)(Packed),font-1(Packed),其中帶Packed的都是打包後生成的文件,而紅框內的文件是打包之前的,打包完成以後我們不再需要它們,刪除。在場景內新建一個UI->Text對象,Text的Font屬性選擇為我們剛剛創建好的font-1(Font)(Packed)文件,Materia屬性選擇font-1(Material)(Packed),在Text屬性隨便輸入一句話。需要註意的是,由於Bitmap字體的特殊性,我們無法通過直接設置Font size的大小來設置字體的顯示大小,但是我們可以通過設置文字對象的縮放大小來達到這個目的。此外,如果你的圖片字體比較大,那麽你可能看不到任何文字顯示,這時候你需要調整文字對象的width和height到合適的大小來使文字得到顯示。(如果打開發現字體圖片或材質丟失,手動拉進去就好了,第二次就不會出現丟失了了)。

unity制作圖片字體