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
可通过上面的链接下载该文件,文件中包括常用简体字,英文,中英文标点符号,数字,罗马数字和一些特殊字符。
生成后的纹理如下:

Unity TextMeshPro替代Text组件创建简体中文字体纹理集的更多相关文章
- Unity—TextMeshPro
矢量文字,不会因为放大缩小而变的不清晰: 1.TextAsset Window/TextMeshPro/Font Assets Creator 创建TextAsset字体: SourceFont是.t ...
- 关于Unity中UI中的Mask组件、Text组件和布局
一.Mask组件 遮罩,Rect Mask矩形Mask(Rect Mask2D组件),图片Mask(Mask组件)(图片Mask的透明度不为0的部分显示子图片,为0的部分不显示子图片) Rect Ma ...
- 让数字变化炫酷起来,数字滚动Text组件[Unity]
让数字滚动起来 上周我的策划又提了样需求,当玩家评分发生变动时,屏幕出现人物评分浮层UI,播放评分数字滚动动画.这类数字滚动需求非常常见,我就按一般思路,将startvalue与endvalue每隔一 ...
- Unity TextMeshPro 一键生成工具
本文参考了这片博客文章,在此基础上进行优化和改进: https://blog.csdn.net/akof1314/article/details/80868869 先截张效果图: TextMeshPr ...
- 使用Glyph Designer创建位图字体
使用Glyph Designer创建位图字体 转http://book.2cto.com/201210/6610.html <iOS 5 cocos2d游戏开发实战(第2版)>将引导 ...
- 初学者--bootstrap(六)组件中的字体图标----在路上(9)
组件---字体图标 无数可复用的组件,包括字体图标.下拉菜单.导航.警告框.弹出框等更多功能. 1.如何使用: 出于性能的考虑,所有图标都需要一个基类和对应每个图标的类.把下面的代码放在 ...
- Bootstrap入门(七)组件1:字体图标
Bootstrap入门(七)组件1:字体图标 包括200个来自 Glyphicon Halflings 的字体图标,允许 Bootstrap 免费使用. 部分可用图标截图: 所有图标都需要一个基类 ...
- Oracle text组件安装
1.目标:在数据库中,安装Oracle Text组件: 970473.1 MOS文档ID 2.组件相关视图:查询验证 #查询DB中的组件: #视图:USER_REGISTRY (注册) COM ...
- Unity UGUI之Text
下图是Text组件的内容. Character(字符) Text--输入要显示的文本 Font--要渲染文本的字体类型(例如:黑体.宋体) FontStyle--是否要加粗,倾斜等. Normal-- ...
随机推荐
- sql server一些快捷方式和操作技巧
1.注释(ctrl+k+c) 和 取消注释(ctrl+k+u) 2.行号显示,如图:
- diango运行流程
diango运行流程 Django处理一个请求的流程: 在浏览器的地址栏中输入地址,回车,发了一个GET请求 wsgi模块接收了请求,将请求的相关信息封装成request对象 根据地址找到对应函数 执 ...
- C# List、Array、Dictionary之间相互转换
Array转换为List List转换为Array Array转Dictionary Dictionary转Array List转Dictionary Dictionary转List IQueryab ...
- PostgreSQL中的onflict
PostgreSQL 9.5 引入了一项新功能,UPSERT(insert on conflict do),当插入遇到约束错误时,直接返回,或者改为执行UPDATE. 1.不存在则插入,存在则更新 i ...
- 【问题解决】vim 打开文档后提醒 E325: ATTENTION 怎么办?
这是经典的 vi/vim 的报错情形. 在 Linux 下,使用 vim 或是 vi 查看文件时,可能每次都会出现下面贴出的 E325 错误提醒,然后按 E 进行 Edit anyway 才能继续读写 ...
- navicat for mysql 连接 mysql 出现Client does not support authentication protocol requested by server解决方案
一 .桌面左下角windows图标--搜索框内输入cmd,结果如图所示,点击cmd.exe,或者使用快捷键Windows键(在键盘上有个Windows标志的按键)+R输入cmd后回车. 二. 在出来的 ...
- Python如何动态的为对象添加方法或属性,__slots__用法
代码示例如下: import types #使用MethodType方法需要导入包 class test(object): #定义 一个test类,包含name属性和f()方法 def __i ...
- 加权无向图 最小生成树 Prim算法 延迟版和即时版 村里修路该先修哪
本次要解决的问题是:你们村里那些坑坑洼洼的路,到底哪些路才是主干道? 小明:肯定是哪里都能到得了,并且去哪里都相对比较近,并且被大家共用程度高的路是啊! 具体是哪几条路呢?今天就可以给出准确答案 最小 ...
- String对象及正则表达式
1,String和string还是有区别的,一个就是用双引号或单引号包括起来的数据就是字符串,另一个本质是数组多个字符串组成的只读字符数组: 2,你说string他是数组吧,他和数组还是有点区别的,他 ...
- Windows安装与配置—Node.js
一.搭建环境 1.下载软件 打开下载链接:https://nodejs.org/zh-cn/ , 2.双击安装,指定安装位置 3.测试是否安装成功 用管理员方式打开命令行cmd,输入node -v如果 ...