游戲開發(fā)中經(jīng)常會(huì)遇到使用藝術(shù)字的情況祠肥,比如游戲戰(zhàn)斗過程中掉血、回血梯皿、回藍(lán)等頭上冒字仇箱,這時(shí)候一般需要一些藝術(shù)化的字體效果。
Unity3D中顯示文本目前常用的方案是使用UGUI的Text組件东羹。要使用Text組件來顯示藝術(shù)字剂桥,就需要找到一個(gè)藝術(shù)字字庫(kù)文件(.ttf)。然而属提,這有幾個(gè)弊端:
1权逗、通常情況下字庫(kù)文件并不好找,還有版權(quán)等問題。
2斟薇、字庫(kù)文件一般很大师坎,而我們只是用到其中很少的幾個(gè)字(比如0到9的數(shù)字和+、-號(hào))奔垦。
3屹耐、美術(shù)一般會(huì)給字設(shè)計(jì)個(gè)性化的描邊和陰影,字庫(kù)文件無法滿足這一要求椿猎。
實(shí)際中惶岭,美術(shù)一般會(huì)給出一堆圖片文件,每個(gè)圖片是一個(gè)字犯眠,如圖:
我們當(dāng)然還是希望能使用Text組件來顯示了按灶,這樣程序上操作文本組件的接口是統(tǒng)一的,這就該我們今天的主角BMFont上場(chǎng)了筐咧。
準(zhǔn)備工作
1鸯旁、BMFont64.exe
下載地址:http://www.angelcode.com/products/bmfont/
2、BMFont Maker Unity插件
下載地址:https://files.cnblogs.com/files/imteach/BMFont.zip
制作字體文件
1量蕊、打開BMFont64.exe铺罢,點(diǎn)擊Edit下的Open Image Manager菜單
2、在打開的Image Manager窗口有一個(gè)Image菜單残炮,可以進(jìn)行圖片導(dǎo)入韭赘、編輯和刪除操作。
3势就、點(diǎn)擊Options/Export options菜單泉瞻,設(shè)置導(dǎo)出選項(xiàng)
注意幾點(diǎn):
1)width、height根據(jù)原圖片大小設(shè)置為合適的值苞冯,如果設(shè)置的太大袖牙,導(dǎo)出的圖片有很大空白,造成空間浪費(fèi)舅锄;如果設(shè)置的很小鞭达,導(dǎo)出圖片可能會(huì)有多張,影響drawcall巧娱;值要設(shè)置成2的整數(shù)次冪
2)Bit depth選32
3)Presets選White text with alpha
4碉怔、點(diǎn)擊Options/Save bitmap font as..菜單,選擇位置后進(jìn)行保存操作禁添,最終會(huì)得到兩個(gè)文件(*.fnt和*_0.png)
導(dǎo)入U(xiǎn)nity3d
1撮胧、安裝插件,將下載到的BMFont.zip解壓后放到工程的Assets目錄下老翘,編譯完成后芹啥,會(huì)在Unity編輯器上生成一個(gè)Tools/BMFont Maker菜單锻离。
2、將上一步生成的*.fnt文件和*_0.png文件導(dǎo)入U(xiǎn)nity墓怀。
3汽纠、在Unity中創(chuàng)建一個(gè)空材質(zhì),材質(zhì)shader選GUI/Text Shader傀履,將剛才導(dǎo)入的png紋理拖到FontTexture屬性上虱朵。
4、在Unity中創(chuàng)建一個(gè)Custom Font钓账,后綴名是.fontsettings碴犬,將剛才創(chuàng)建的材質(zhì)拖到Custom Font的Default Material屬性上。
5梆暮、點(diǎn)擊Tools/BMFont Maker菜單服协,在打開的窗口中,選擇相應(yīng)的文件進(jìn)行賦值啦粹。Target Font設(shè)置我們剛創(chuàng)建的.fontsettings文件偿荷,F(xiàn)nt Data設(shè)置.fnt文件,F(xiàn)ont Material設(shè)置材質(zhì)文件唠椭,F(xiàn)ont Texture設(shè)置.png文件跳纳。
6、點(diǎn)擊Create BMFont贪嫂,完成字體創(chuàng)建棒旗,然后我們就可以在Text組件中像使用ttf字體一樣使用我們創(chuàng)建的fontsettings字體了。