Unity3d Ugui 15 TextMeshPro

25 篇文章 1 订阅

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

Ugui基础的Text放大以后会出现毛边或锯齿,而TextMeshPro很好的解决了这个问题,而且还可以添加描边、发光、光照等常用的效果

TMPro采用SDF文字渲染技术,可以使文字放大十几倍后乃然边缘清晰光滑,主要原因是利用矢量渲染的方式代替位图。

2018以后的的Unity已经内嵌了到编辑器里面了,如果旧版的Unity可以去资源商店下载插件。

TMPro会根据字体类型创建额外的字体纹理集,将占用大量的内存空间。

默认支持英文和数字和符号,如果想支持中文,需要单独把中文制作成asset来使用。但是中文文字太多,最好单独制作常用的汉字。

放大以后的效果,上面是TextMeshPro,下面是Text

一、属性介绍

Font Asset:通过Font Asset Creator创建的字体
Material Preset:字体的材质
Font Style:样式
Font Size:字体大小
Auto Size:根据控件大小自动显示
Color Gradient:颜色渐变效果

主要的附加效果可以通过shader设置
Face:可以调节文字的颜色,Softness模糊度,Dilate粗细 
Outline:描边Color颜色,Thickness颜色
Underlay:底纹效果,Color颜色,OffsetX和OffsetY的偏移,Dilate范围大小,Softness模糊度

二、字体制作

Font Asset Creator窗口属性

  1. SourceFontFile:生成Text Mesh Pro字体的时候,必须选择一个源字体,这个字体也只会用来生成对应的font asset,而不会包含在构建中,除非你也在其他地方使用到了,或者将它放在了Resources文件夹中。
  2. SamplingPointSize:字体大小,可以设置大小,也可以使用自动调整。自动调整将尝试使用最大的字生成纹理。如果你想要精确控制图集和字体的时候,通常会对SDF字体设置Auto Sizing和Custom Size来精确控制图集和字号。
  3. Padding:字体纹理间距,为SDF过渡创造了空间。Padding越大,过渡就越平滑。这样可以得到更高质量的渲染和更好的效果,比如描边。对于512x512纹理来说,5的Padding通常就很好了,纹理看起来越糊的越好。下图分别间隔是0和20的纹理
  4. Packing Method:打包方法,可以选Fast(快速)会比较快但最终可能会使用较小的字体大小,Optimum(最佳)。在开发的时候使用Fast,最终Build的时候使用optimum
  5. Atlas Resolution:图集大小,较高的分辨率会产生更精细的渐变,从而产生更高质量的文本。对于大多数字体,当包含所有ASCII字符时,512x512纹理分辨率就足够好了。但是,如果需要支持成千上万的字符的话,就不得不使用大纹理了。但纹理有限,字符无限,仅仅放大分辨率并不是一个好的解决方案,也不可能满足所有需求。一般这种情况下,可以通过创建多个font 
  6. Character Set:选用的文字来源。最常使用的是ASCII和Characters from File。如果使用中文的话就要选后者。
  7. Character File:需要用到的中文文字的文档
  8. Render Mode:字体渲染模式
  9. Get Kerning Pairs:是否读取字体的字偶距

 

 

字体制作过程

  1. 将ttf格式的字体导入到Unity里面,例如:chtest.ttf
  2. 创建一个txt文件,里面包含游戏中常用的汉字,导入到Unity里面。例如:zhtest.txt
  3. 打开Font Asset Creator点击菜单Windows / TextMeshPro / Font Asset Creator,第一次会弹出提示框,点击Import TMP Essentials。

  4. Font Asset Creator窗口中设置Source Font File设置刚导入的字体

  5. Font Asset Creator窗口中设置Character SetCharacters from File。

  6. 然后把刚刚的汉字的txt赋值给Character File。

  7. 点击Generate Font Atlas,保存字库asset。

  8. 制作完成以后ttf字体和文本就可以删除了,最好是备份防止以后修改。

设置如下图,会显示制作成功和失败的具体信息

二、常用功能

现在实现一些文字的效果就很简单了

默认显示

 

  1. 描边,设置Outline的颜色Color和粗细Thickness
  2. 柔和设置Softness
  3. 扩展粗细Dilate
  4. 发光

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值