文章目录
- 一、前言
- 二、TextMeshPro组件
- 1、导入ttf字体
- 2、打开Font Asset Creator
- 3、创建txt字库文本
- 4、设置Character Set
- 5、Generate Font Atlas,保存字库asset
- 6、创建TextMeshPro
- 7、在3D空间中显示TextMeshPro
- 8、描边效果
- 9、软化效果
- 10、扩张效果
- 11、投影效果
- 12、光照效果
- 13、外发光效果
一、前言
Unity
中要显示文本,我们一般是用UGUI
的Text
组件。
不过Text
渲染的字体不是矢量的,所以靠近的时候会看到锯齿和模糊。
今天要介绍另个显示文本的组件:TextMeshPro
,使用它渲染的字体是矢量的,靠近不会有锯齿和模糊。
除此之外,还有丰富的表现效果,比如模糊、扩张、描边、发光等等。
二、TextMeshPro组件
1、导入ttf字体
将ttf
格式的字体导入Unity
工程中,如下,我导入一个微软雅黑的ttf
格式字库。
2、打开Font Asset Creator
点击菜单Windows / TextMeshPro / Font Asset Creator
第一次打开会弹出如下提示框,点击
Import TMP Essentials
即可
打开后即可看到Font Asset Creator
窗口。
3、创建txt字库文本
创建一个txt
文件,比如character.txt
,里面输入要用到的字,比如:大家好,我是林新发
4、设置Character Set
在Font Asset Creator
窗口中设置Character Set
为Characters from File
:
然后把刚刚的character.txt
赋值给Character File
:
5、Generate Font Atlas,保存字库asset
点击Generate Font Atlas
:
保存字库asset
资源,比如msyh SDF.asset
:
完成后即可看到msyh SDF.asset
文件。
6、创建TextMeshPro
在Canvas
加点上右键菜单:UI / Text - TextMeshPro
,即可创建一个TextMeshPro
对象。
可以看到它挂了一个TextMeshPro - Text (UI)
组件,我们给它的Font Asset
赋值刚刚创建的msyh SDF.asset
,输入显示文本:大家好,我是林新发
。
即可显示出文本内容了。
我们在Scene
场景中不管多近距离观察,字体显示都非常清晰。
7、在3D空间中显示TextMeshPro
上面是在UI
上显示TextMeshPro
,我们也可以在3D
空间中显示TextMeshPro
。
在世界空间中创建一个空物体,点击菜单Create Empty
:
然后添加TextMeshPro -Text
组件,注意不是TextMeshPro -Text (UI)
组件。
然后赋值Font Asset
,并输入显示文本。
即可在3D
空间中显示TextMeshPro
了。
将字体靠近镜头,字体依旧清晰:
8、描边效果
选中TextMeshPro
对象,调整材质的Outline
颜色和Tickness(描边厚度)
即可。
9、软化效果
调节Softness
可以实现字体的软化效果。
10、扩张效果
调节Dilate
可以实现字体的扩张效果。
11、投影效果
调整Underlay
可以实现字体的投影效果。
12、光照效果
调整Lighting
可以实现字体的光照效果。
13、外发光效果
调整Glow
可以实现字体的外发光效果。