佛山公司做网站,科技网站首页,南昌网站开发制作公司,wordpress分类调用文章目录 1. TextMeshPro简介2. TextMeshPro创建3. TextMeshPro脚本中调用4. TextMeshPro字体设置及中文支持过程中出现的一些问题 1. TextMeshPro简介
【官网文档】https://docs.unity.cn/cn/2020.3/Manual/com.unity.textmeshpro.html
TextMeshPro 是 Unity 的最终文本解决… 文章目录 1. TextMeshPro简介2. TextMeshPro创建3. TextMeshPro脚本中调用4. TextMeshPro字体设置及中文支持过程中出现的一些问题 1. TextMeshPro简介
【官网文档】https://docs.unity.cn/cn/2020.3/Manual/com.unity.textmeshpro.html
TextMeshPro 是 Unity 的最终文本解决方案。它是 Unity UI Text 和旧版 Text Mesh 的完美替代方案。
功能强大且易于使用的 TextMeshPro也称为 TMP使用高级文本渲染技巧以及一组自定义着色器它大幅改进了视觉质量同时为用户创建文本样式和纹理提供了难以置信的灵活度。
TextMeshPro 能够更好地控制文本格式和布局提供了字符、单词、行和段落间距调整、字距调整、文本对齐、链接、超过 30 种富文本标签、多种字体和精灵支持、自定义样式等功能。
强大的性能。由于 TextMeshPro 创建的几何体与 Unity 的文本组件一样每个字符都使用两个三角形因此这种改进的视觉质量和灵活性不会带来任何性能成本的损失。
2. TextMeshPro创建
a. 创建一个空节点Create Empty添加组件Add Component选择Mesh-TextMeshPro-Text b. 在弹出的对话框中点击Import TMP Essentials导入即可 c. 在Inspector中编辑相关属性如在TextMeshPro-Text Input中输入“Hello”即可在屏幕中显示内容。
3. TextMeshPro脚本中调用
创建脚本文件TextScript.cs并关联到当前的TextMeshPro中
using System.Collections;
using System.Collections.Generic;
using TMPro;
using UnityEngine;public class TextScript : MonoBehaviour
{TextMeshPro Text;// Start is called before the first frame updatevoid Start(){Application.targetFrameRate 60;Text GetComponentTextMeshPro();//获取组件}// Update is called once per framevoid Update(){Text.text Time.time.ToString(f3);}
}4. TextMeshPro字体设置及中文支持
以添加微软雅黑字体为例 下载字体 微软雅黑https://github.com/CroesusSo/msyh/tree/main 在Unity中创建文件夹用来存放字体如创建Assets/Fonts/ttf文件夹并把msyh.ttf复制到该文件夹内 打开 Font Asset Creator 窗口 Window TextMeshPro Font Asset Creator. Font Asset Creator 窗口操作
Source Font File: 选择你刚才放到Unity里面的中文字体。Sampling Point Size / Font Size: 默认Auto SizePadding: 字体中效果 (outlines, glow, bevels, etc.) 的大小默认为5。Packing Method: 创建字体的方式。Fast可用于快速预览效果Optimum用于创建最终字体。Atlas Resolution: 可以理解为分辨率。Character Set: 创建的字体的字符集合也就是说你要创建的TextMeshPro字体中要包含的所有字符。在我们这里就是所有的中文字符。一般来说常见中文字英文单词符号即可。 下拉选择Characters from File然后选择包含所有所需字符的txt文件需要先导入Unity。 txt文件下载地址https://github.com/wy-luke/Unity-TextMeshPro-Chinese-Characters-Set 在简单的项目中可以采用Custom Characters然后在Custom Character List中输入项目中会用到的所有的字符即可
点击Generate Font Atlas生成Unity字体文件同时save保存到Assets/Fonts/msyh SDF.asset将之前创建的TextMeshPro节点的Font Asset设置为新创建的字体Assets/Fonts/msyh SDF.asset即可
过程中出现的一些问题
生成字体过程中没有将所有字符转化出现未转换字符如下图 解决办法将Atlas Resolution设置值变大如改为2048x2048 )