如果需要ui的文字不失真,或是需要文字出现在世界场景中而不是ui涂层 。那么可以毫不犹豫的使用unity插件 textmesh pro
1 安装
点击unity的windows->package manager 选择text mesh pro 安装
2 在编辑器中加入字体
在网上随便下个字体,放在资源目录resouces中,没有就创建一个目录。
3 生成文字素材
- 点击 windows > textmeshpro > font asset creator
进入素材创建窗口
第一次运行可能会弹出窗口,点击 import tmp essentials即可 - 然后重新点击 font asset creator
- 在source fount file中设置你要生成的字体。就是刚刚加入进来的字体资源。
- 设置要包含的字符,设置characyer set 为characters from file,然后在资源目录下建立一个txt,里面放上你想要加入的文字,然后在character file 中选择这个txt
点击generate font atlat 即可开始生成字体资源。
4 使用
在场景中创建一个空物体,然后add component,选择textmeshpro,设置fontasset 为我们刚才创建的那个资源,并在text中输入文字即可。输入文字必须是刚才创建资源的txt文本中的文字。
完事啦!
5 在脚本中调用
- 首先必须引用TMPro命名空间。
using TMPro;
- 然后获取对象上的TMPro组件
public TextMeshPro textMeshPro;
- 用吧
void Start(){
textMeshPro.text = "new text";
}