手把手教,Unity使用TextMeshPro显示字体

文章目录

      • 一、前言
      • 二、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使用TextMeshPro显示字体_第1张图片
手把手教,Unity使用TextMeshPro显示字体_第2张图片
不过Text渲染的字体不是矢量的,所以靠近的时候会看到锯齿和模糊。
手把手教,Unity使用TextMeshPro显示字体_第3张图片
今天要介绍另个显示文本的组件:TextMeshPro,使用它渲染的字体是矢量的,靠近不会有锯齿和模糊。
除此之外,还有丰富的表现效果,比如模糊、扩张、描边、发光等等。
手把手教,Unity使用TextMeshPro显示字体_第4张图片

二、TextMeshPro组件

1、导入ttf字体

ttf格式的字体导入Unity工程中,如下,我导入一个微软雅黑的ttf格式字库。
手把手教,Unity使用TextMeshPro显示字体_第5张图片

2、打开Font Asset Creator

点击菜单Windows / TextMeshPro / Font Asset Creator
手把手教,Unity使用TextMeshPro显示字体_第6张图片

第一次打开会弹出如下提示框,点击Import TMP Essentials即可
手把手教,Unity使用TextMeshPro显示字体_第7张图片

打开后即可看到Font Asset Creator窗口。
手把手教,Unity使用TextMeshPro显示字体_第8张图片

3、创建txt字库文本

创建一个txt文件,比如character.txt,里面输入要用到的字,比如:大家好,我是林新发
手把手教,Unity使用TextMeshPro显示字体_第9张图片

4、设置Character Set

Font Asset Creator窗口中设置Character SetCharacters from File
手把手教,Unity使用TextMeshPro显示字体_第10张图片
然后把刚刚的character.txt赋值给Character File
手把手教,Unity使用TextMeshPro显示字体_第11张图片

5、Generate Font Atlas,保存字库asset

点击Generate Font Atlas
手把手教,Unity使用TextMeshPro显示字体_第12张图片
保存字库asset资源,比如msyh SDF.asset
手把手教,Unity使用TextMeshPro显示字体_第13张图片
完成后即可看到msyh SDF.asset文件。
手把手教,Unity使用TextMeshPro显示字体_第14张图片

6、创建TextMeshPro

Canvas加点上右键菜单:UI / Text - TextMeshPro,即可创建一个TextMeshPro对象。
手把手教,Unity使用TextMeshPro显示字体_第15张图片
可以看到它挂了一个TextMeshPro - Text (UI)组件,我们给它的Font Asset赋值刚刚创建的msyh SDF.asset,输入显示文本:大家好,我是林新发
手把手教,Unity使用TextMeshPro显示字体_第16张图片
即可显示出文本内容了。
手把手教,Unity使用TextMeshPro显示字体_第17张图片
我们在Scene场景中不管多近距离观察,字体显示都非常清晰。
手把手教,Unity使用TextMeshPro显示字体_第18张图片

7、在3D空间中显示TextMeshPro

上面是在UI上显示TextMeshPro,我们也可以在3D空间中显示TextMeshPro
在世界空间中创建一个空物体,点击菜单Create Empty
手把手教,Unity使用TextMeshPro显示字体_第19张图片
然后添加TextMeshPro -Text组件,注意不是TextMeshPro -Text (UI)组件。
手把手教,Unity使用TextMeshPro显示字体_第20张图片
然后赋值Font Asset,并输入显示文本。
手把手教,Unity使用TextMeshPro显示字体_第21张图片
即可在3D空间中显示TextMeshPro了。
手把手教,Unity使用TextMeshPro显示字体_第22张图片
将字体靠近镜头,字体依旧清晰:
手把手教,Unity使用TextMeshPro显示字体_第23张图片

8、描边效果

选中TextMeshPro对象,调整材质的Outline颜色和Tickness(描边厚度)即可。
手把手教,Unity使用TextMeshPro显示字体_第24张图片

9、软化效果

调节Softness可以实现字体的软化效果。
手把手教,Unity使用TextMeshPro显示字体_第25张图片

10、扩张效果

调节Dilate可以实现字体的扩张效果。
手把手教,Unity使用TextMeshPro显示字体_第26张图片

11、投影效果

调整Underlay可以实现字体的投影效果。
手把手教,Unity使用TextMeshPro显示字体_第27张图片

12、光照效果

调整Lighting可以实现字体的光照效果。
手把手教,Unity使用TextMeshPro显示字体_第28张图片

13、外发光效果

调整Glow可以实现字体的外发光效果。
手把手教,Unity使用TextMeshPro显示字体_第29张图片

你可能感兴趣的:(Unity3D,unity,TextMeshPro,Text,字体,font)