zoukankan      html  css  js  c++  java
  • 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

     可通过上面的链接下载该文件,文件中包括常用简体字,英文,中英文标点符号,数字,罗马数字和一些特殊字符。

    生成后的纹理如下:

  • 相关阅读:
    Omi框架学习之旅
    Omi框架学习之旅
    Omi框架学习之旅
    加密解密
    RSA加密解密
    CMDB后台管理(AutoServer)
    CMDB Autoclient思路分析
    CMDB开发(需求分析)
    Django之model操作(续)
    Django之Model操作
  • 原文地址:https://www.cnblogs.com/koshio0219/p/11643268.html
Copyright © 2011-2022 走看看