text显示下标的字体 unity_Text Mesh Pro中文版
Text Mesh Pro中文版是一款免費的unity文字特效插件,為用戶提供了改進的文字格式和布局設計功能,包括字距調整、文本鏈接、文本標記、段落間距等參數設置,支持字體和風格自定義,需要的朋友可以下載!
軟件特色
格式和樣式選項
*動態字體大小
*增強的富文本標簽,包括支持上標,下標,下劃線,刪除線,縮進,對齊,等寬,線的高度,和更多。
*文本錨定-通常的9個位置
*文本對齊-左,中心,權利和理由
*字符、線條和段落間距控制
*自動字包裝
*字距
*多紋理映射選項
很好很強大的文字處理插件
*易于使用和直觀的用戶界面
*支持位圖和SDF字體資產
*內置字體資產創建工具。
* TrueType和OpenType支持。
*腳本接口和文本對象的動態控制
*改進的unity的文本網格的性能
*沒有在運行時分配性能
使用說明
1、生成txt字體文件
把你所需要的字體,粘貼復制到txt文檔中,另存為,編碼格式選擇Unicode格式。關于字符編碼格式,見上面的文章。點擊打開鏈接 。
2、熟悉插件工具——Font Asset Creator
1)Font Source:設置字體格式,我用的是隸屬,為了避免錯誤,盡量去Windows系統里拷貝字體過來即可。在工程目錄下新建Fonts目錄,拷貝進去。
2)Font Size:設置字體大小,最好是使用Auto Sizing
3)Font Padding:設置字體間距,像素為單位,512*512尺寸下,間距設置為5即可
4)Atlas Resolution:設置圖集尺寸,根據字體多少來確定
5)Character Set:設置字體內容,即需要制作的字體資源包括哪些字體。(1)ASCII:僅包含ASCII的字符集;(2)ASCII Lowercase:小寫ASCII字符集;(3)ASCIIUppercase:大寫ASCII字符集;(4)Numbers+Symbols:數字+符號字符集;(5)Custom Range:可以定義一個范圍的字符集,但是僅限于ASCII和拉丁字母,如在自定義窗口范圍輸入32-126或者161-255;(6)Custom Characters:自定義字符集,可以在自定義窗口輸入自定義的字符;(7)Characters from File:從外部文件讀入,即我們這片文章介紹的主要內容。當選擇該模式時,可以拖拽一個txt文檔到自定義窗口。如上圖所示;
6)Font Style:字體格式設置,如加粗、下劃線、outline等。但是這個設置是非必須的;
7)Font Render Mode:字體渲染模式。(1)Hinted Smooth:反鋸齒渲染模式;(2)Smooth:和(1)差不多;(3)Raster Hinted:光柵渲染模式,帶hinting效果;(4)Raster:光柵模式,不帶hinting效果;(5)Signed Distance Field 16:創建SDF字體集的標準模式,字體采樣使用16X,生成更精確的資源;(6)Signed Distance Field 32:使用32X采用,處理復雜的字體或者高頻率曲線的變化,注意:這個處理方式顯著低于16X的模式。
8)Get Kerning Pairs:暫時不懂,也沒用到。
9)Generate Font Atlas:生成字體資源
10)Save TextMeshPro Font Asset:保存字體資源,是以.asset的后綴文件保存的。保存位置放在剛才創建的Fonts目錄下即可,如果使用Signed Distance Field的渲染模式,將會生成在字體資源名稱后加上SDF。
3、修改TextMeshPro源碼
通過2生成的字體資源,我們在使用時會報The given key was not present in the dictionary:原因是這個插件是以ASCII為基礎,處理的代碼邏輯,所以需要做一些修改。通過代碼我們可以看到,保存字體資源時,使用的是字典型的數據結構中,key值使用該字體當前編碼方式下的10進制數。如“A"在ASCII編碼格式下是65,保存時的key即為65。又如漢字”我“在Unicode編碼格式下是\u6211,轉換為十進制是25105,則保存時key值即為25105。而插件的源碼中默認給我們添加了LineFeed(10)、Return(13)、Space(32)3個ASCII字符,所以這三個字符保存時使用的是ASCII下的編碼值。因此,當我們使用Unicode時,如果插入ASCII的編碼值,肯定會報錯的。所以我們把它注釋掉。即:TextMeshProFont.cs 151:添加 /* ; 202添加 /*; 208:65改為了12290;TMPro_Private.cs 453:Fonts/ARIAL SDF 改為UI/Fonts/SIMLI。可以自己全局搜索characterDictionary.TryGetValue,看看哪里使用到了自己沒使用的key值,注釋或者修改掉就可以了。保存,運行;
運行發現還是報錯,再次檢查發現,TextMeshPro默認給我們使用了Arial SDF,即TMPro_Private.cs 453行,把字體設置成你自己的字體資源即可。注意路徑問題。
同時,TextMeshPro設置text的長度默認是8,但是當我們傳入的字符串長度超出8時,會給我們新開辟一個數組,并賦值給原來的數組。詳見TMPro_Private.cs 287行和792行。
4、使用到的工具
1)各種進制轉換:http://jinzhi.supfree.NET/
2)Unicode與中文的轉換:http://app.baidu.com/2unicode
可以在工具2中將我們指定的漢字轉為Unicode編碼。16字節的16進制數,如\u6211,如果不足,在前面加FF,這個可以百度一下Unicode大小端的問題。然后使用工具1將上步轉換成的16進制數轉化為10進制數,即可在程序中打斷點,找到這個key值是否包含在字體資源中。
總結
以上是生活随笔為你收集整理的text显示下标的字体 unity_Text Mesh Pro中文版的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 文献管理软件工具讲解-------阿冬专
- 下一篇: 管桩的弹性模量计算公式_400管桩单桩水