Unity 5.6進(jìn)行了許多升級,包括引入了新的系統Video Player等。其中最有用的我覺(jué)得應該是開(kāi)始整合Asset Store中的年度最佳插件Textmesh pro,并且提供免費下載。
比起UGUI的Text控件,Textmesh pro有著(zhù)許多優(yōu)勢。它使用Signed Distance Field(SDF)即有向距離場(chǎng)作為主要的文本渲染管線(xiàn),在不同的分辨率和不同的位置下都能渲染出清晰的文本,而且它通過(guò)不同的著(zhù)色器來(lái)實(shí)現描邊,陰影,發(fā)光等效果,表現更出色的同時(shí)性能也更好。
但是,Textmesh pro使用時(shí)需要制作字體文件即Font Asset,對于英文數字即字符只需制作ASCII的文件即可,但是對于中文,如果我們的文字需要動(dòng)態(tài)生成且不可控,那么就需要考慮所有可能需要的文字,生成的字體文件就會(huì )很大,不適合手游等要求安裝包小的項目使用。所以建議只在可確定中文的UI和ASCII包含字符上使用Textmesh pro。
下面介紹一下如何制作Font Asset。
首先從Asset Store導入Textmesh pro,然后選擇Window->TextMeshPro->Font Asset Creator:
打開(kāi)字體文件制作器:
- Font Source:選擇需要制作的字體。
- Font Size:字體大小,可以選擇自動(dòng)或者指定大小。建議自定義一個(gè)大小,如果要添加或者刪減文字,重新之后之后可以方便保持文字的大小。
- Font padding:文字間距。即生成的字體文件貼圖上字與字之間的間隙,這個(gè)值會(huì )影響字體的描邊效果。
- Packing Mode:打包模式,可選快速或者優(yōu)化。
- Atlas Resolution:生成的字體文件貼圖的大小。如果我們選擇的字體大小是自動(dòng),那么插件會(huì )根據貼圖大小來(lái)選擇生成的字體大小。如果我們規定了字體大小,而貼圖大小不夠的話(huà),我們就會(huì )失去一些字的信息。所以我們要計算好這個(gè)值,在能夠包括所有需要的字的情況下將文件大小控制到最小。
- Character Set:選擇文字來(lái)源。最常使用的是ASCII和Characters from File。顧名思義前者是使用ASCII字符,后者是使用我們制定文本中的文字。需要使用中文的話(huà)就要選后者了,一般3500常用漢字也夠了。
- Font Style:字體風(fēng)格,就是正規,粗體,斜體等Word中常見(jiàn)的選項,可以根據我們的需求選擇。
- Font Render Mode:字體渲染模式。一般選擇默認的即可。
- Get Kerning Pairs?:決定是否讀取字體的字偶距。
全部設置好之后點(diǎn)擊Generate Font Atlas生成字體文件:
生成成功之后我們可以查看到生成的信息和貼圖,如果有問(wèn)題比如丟失字體或者想上圖圖貼大小可以減小的情況,我們就可以調整參數之后重新生成。如果覺(jué)得沒(méi)有問(wèn)題了,我們就可以點(diǎn)擊Save TextMeshPro Font Asset按鈕存儲生成好的字體文件。
查看生成的Font Asset文件,我們可以在Inspector面板上看到字體文件的信息:
很多信息都可以在面板上進(jìn)行修改。如果我們覺(jué)得需要的文字太多而一張大分辨率的貼圖文件太大,我們可以選在將這些文字分成幾個(gè)小文件,生成不同的字體文件,再利用Textmesh pro的字體回調功能(當前字體文件中未查詢(xún)到文字信息時(shí)會(huì )繼續查詢(xún)回調文件中的字體信息)添加回調字體文件:
需要顯示文本時(shí),我們可以創(chuàng )建Textmesh Pro對象,一般是UI對象,在Create->UI中選擇TextMeshPro - Text(或者普通3D對象Create->3D->TextMeshPro - Text),在Font Asset中選擇我們生成的字體文件即可:
在下載的Textmesh pro包中也有User Guide,我們可以閱讀官方的手冊來(lái)學(xué)習這個(gè)非常有用的插件,這里后續也會(huì )出有關(guān)Textmesh pro其他的教程,歡迎繼續關(guān)注。
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請
點(diǎn)擊舉報。