Unity TextMeshPro替代Text組件創建簡體中文字體紋理集


Unity原生的Text組件有一個毛病,只要文本放大字體放大就會有毛邊或鋸齒,一個更好的解決方案是用TextMeshPro替代ugui中的Text組件。

TMPro采用SDF文字渲染技術,可以使文字放大十幾倍后乃然邊緣清晰光滑,主要原因是利用矢量渲染的方式代替位圖。

在新版的Unity中已經通過包內嵌了該組件,舊版的Unity也可以在資源商店找到該插件。

當然TMPro也有一些缺點和麻煩的地方,它必須根據字體類型創建額外的字體紋理集,而這個字體紋理集將占用大量的內存空間。

對於英文或一些字符組合相對較少的語言而言,這不會構成任何困難,例如英文只有26個字母就可以組合為所有的詞匯,加上標點符號也不會有太多內容。

然而中文真的是噩夢,在Unicode中,光是基本漢字就有2w多:

 

 這個字體紋理集渲染起來相當緩慢和龐大,你可以渲染指定Unicode編碼的簡體中文字段以及基本的英文和數字,中英文標點符號等。

但更好的做法是只渲染一些常用的中文字庫文件,TMPro提供通過txt文件來進行渲染:

 https://files.cnblogs.com/files/koshio0219/Chinese7000.zip

 可通過上面的鏈接下載該文件,文件中包括常用簡體字,英文,中英文標點符號,數字,羅馬數字和一些特殊字符。

生成后的紋理如下:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM