文章目录

  • 一、前言
  • 二、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中要显示文本,我们一般是用UGUIText组件。

unity文字电影字幕 unity文字教程_字体


unity文字电影字幕 unity文字教程_Text_02


不过Text渲染的字体不是矢量的,所以靠近的时候会看到锯齿和模糊。

unity文字电影字幕 unity文字教程_unity_03


今天要介绍另个显示文本的组件:TextMeshPro,使用它渲染的字体是矢量的,靠近不会有锯齿和模糊。

除此之外,还有丰富的表现效果,比如模糊、扩张、描边、发光等等。

unity文字电影字幕 unity文字教程_Text_04

二、TextMeshPro组件

1、导入ttf字体

ttf格式的字体导入Unity工程中,如下,我导入一个微软雅黑的ttf格式字库。

unity文字电影字幕 unity文字教程_unity_05

2、打开Font Asset Creator

点击菜单Windows / TextMeshPro / Font Asset Creator

unity文字电影字幕 unity文字教程_字体_06

第一次打开会弹出如下提示框,点击Import TMP Essentials即可

unity文字电影字幕 unity文字教程_TextMeshPro_07

打开后即可看到Font Asset Creator窗口。

unity文字电影字幕 unity文字教程_unity_08

3、创建txt字库文本

创建一个txt文件,比如character.txt,里面输入要用到的字,比如:大家好,我是林新发

unity文字电影字幕 unity文字教程_Text_09

4、设置Character Set

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

unity文字电影字幕 unity文字教程_TextMeshPro_10


然后把刚刚的character.txt赋值给Character File

unity文字电影字幕 unity文字教程_unity文字电影字幕_11

5、Generate Font Atlas,保存字库asset

点击Generate Font Atlas

unity文字电影字幕 unity文字教程_字体_12


保存字库asset资源,比如msyh SDF.asset

unity文字电影字幕 unity文字教程_unity文字电影字幕_13


完成后即可看到msyh SDF.asset文件。

unity文字电影字幕 unity文字教程_unity文字电影字幕_14

6、创建TextMeshPro

Canvas加点上右键菜单:UI / Text - TextMeshPro,即可创建一个TextMeshPro对象。

unity文字电影字幕 unity文字教程_Text_15


可以看到它挂了一个TextMeshPro - Text (UI)组件,我们给它的Font Asset赋值刚刚创建的msyh SDF.asset,输入显示文本:大家好,我是林新发

unity文字电影字幕 unity文字教程_unity_16


即可显示出文本内容了。

unity文字电影字幕 unity文字教程_unity_17


我们在Scene场景中不管多近距离观察,字体显示都非常清晰。

unity文字电影字幕 unity文字教程_Text_04

7、在3D空间中显示TextMeshPro

上面是在UI上显示TextMeshPro,我们也可以在3D空间中显示TextMeshPro

在世界空间中创建一个空物体,点击菜单Create Empty

unity文字电影字幕 unity文字教程_TextMeshPro_19


然后添加TextMeshPro -Text组件,注意不是TextMeshPro -Text (UI)组件。

unity文字电影字幕 unity文字教程_unity文字电影字幕_20


然后赋值Font Asset,并输入显示文本。

unity文字电影字幕 unity文字教程_字体_21


即可在3D空间中显示TextMeshPro了。

unity文字电影字幕 unity文字教程_unity文字电影字幕_22


将字体靠近镜头,字体依旧清晰:

unity文字电影字幕 unity文字教程_Text_23

8、描边效果

选中TextMeshPro对象,调整材质的Outline颜色和Tickness(描边厚度)即可。

unity文字电影字幕 unity文字教程_unity文字电影字幕_24

9、软化效果

调节Softness可以实现字体的软化效果。

unity文字电影字幕 unity文字教程_unity文字电影字幕_25

10、扩张效果

调节Dilate可以实现字体的扩张效果。

unity文字电影字幕 unity文字教程_TextMeshPro_26

11、投影效果

调整Underlay可以实现字体的投影效果。

unity文字电影字幕 unity文字教程_Text_27

12、光照效果

调整Lighting可以实现字体的光照效果。

unity文字电影字幕 unity文字教程_TextMeshPro_28

13、外发光效果

调整Glow可以实现字体的外发光效果。

unity文字电影字幕 unity文字教程_字体_29