文章目录
一、前言
在 Unity 中显示文本,我们一般使用 UGUI 的 Text 组件。
但是,Text 渲染的字体不是矢量化的,所以靠近时会看到锯齿和模糊。
今天介绍另一个显示文字的组件:TextMeshPro,使用它渲染的字体是矢量的,接近时不会出现锯齿和模糊。
此外,还有丰富的表现效果,如模糊、膨胀、描边、发光等。
二、TextMeshPro 组件1、导入ttf字体
将ttf格式字体导入Unity项目中,如下,我导入一个微软雅黑ttf格式字体库。
2、打开字体资源创建器
点击菜单 Windows / TextMeshPro / Font Asset Creator
第一次打开会弹出如下提示框,点击Import TMP Essentials
打开后,可以看到 Font Asset Creator 窗口。
3、创建txt字体文本
创建一个txt文件unity模糊描边,比如character.txt,在里面输入要使用的单词程序开发,比如:大家好,我是林新发
4、设置字符集
在 Font Asset Creator 窗口中将 Character Set 设置为 Characters from File:
然后将刚才的character.txt赋值给Character File:
5、生成字体图集unity模糊描边,保存字体资源
点击生成字体图集:
保存字体资产资源,例如 msyh SDF.asset:
完成后,您可以看到 msyh SDF.asset 文件。
6、创建TextMeshPro
在 Canvas 上添加右键菜单:UI / Text - TextMeshPro 以创建 TextMeshPro 对象。
您可以看到它附加了一个 TextMeshPro - Text (UI) 组件。我们把新建的msyh SDF.asset赋值给它的Font Asset,输入显示文字:大家好,我是林新发。
显示文本内容。
无论我们在场景中看多近,字体都显示得非常清楚。
7、在 3D 空间中显示 TextMeshPro
以上是在UI上展示TextMeshPro,我们也可以在3D空间展示TextMeshPro。
在世界空间中创建一个空对象,然后单击菜单 Create Empty:
然后添加 TextMeshPro-Text 组件,注意它不是 TextMeshPro-Text (UI) 组件。
然后分配字体资源,并输入显示文本。
TextMeshPro 现在可以在 3D 空间中显示。
将字体移近相机,字体依然清晰:
8、描边效果
选择 TextMeshPro 对象并调整材质的轮廓颜色和刻度。
9、柔化效果
调整Softness可以达到字体的柔化效果。
10、扩展效果
调整Dilate可以达到字体的膨胀效果。
11、投影效果
调整Underlay可以实现字体的投影效果。
12、灯光效果
调整Lighting可以达到字体的光照效果。
13、外发光效果
调整Glow可以实现字体的外发光效果。