没有合适的资源?快使用搜索试试~ 我知道了~
UGUI中是没有可以随意调整字体间的距离的方法,仔细研究一下可以通过控制每个字体的网格顶点位置进行调整字体之间的距离,分析一下最简单情况:输入的文本是单行的,且末尾没有换行符; unity在UnityEngine.UI命名空间中定义了一个BaseMeshEffect抽象类,他提供了一个抽象方法ModifyMesh(VertexHelper vh),使得可以轻松地获得text文本中所有字体 的顶点信息,我们的移动字体的操作将在这里面进行。VertexHelper类主要是用于提供字体网格数据的工具类; 上述便是挂载TestSpacingText脚本之后的效果图。下面贴出代码 using Sy
资源推荐
资源详情
资源评论

格式:pdf 资源大小:47.8KB 页数:1


格式:pdf 资源大小:440.4KB 页数:8

























UGUI实现随意调整实现随意调整Text中的字体间距中的字体间距
UGUI中是没有可以随意调整字体间的距离的方法,仔细研究一下可以通过控制每个字体的网格顶点位置进行调整字体之间的
距离,分析一下最简单情况:输入的文本是单行的,且末尾没有换行符;
unity在UnityEngine.UI命名空间中定义了一个BaseMeshEffect抽象类,他提供了一个抽象方法ModifyMesh(VertexHelper vh),
使得可以轻松地获得text文本中所有字体 的顶点信息,我们的移动字体的操作将在这里面进行。VertexHelper类主要是用于提
供字体网格数据的工具类;
上述便是挂载TestSpacingText脚本之后的效果图。下面贴出代码
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class TextSpacingTest : BaseMeshEffect
{
public float spacing = 0;
public override void ModifyMesh(VertexHelper vh)
{
List<UIVertex> vertexs = new List<UIVertex>();
vh.GetUIVertexStream(vertexs);
int vertexIndexCount = vertexs.Count;
for (int i = 6; i < vertexIndexCount; i++)
{
UIVertex v = vertexs[i];
v.position += new Vector3(spacing * (i / 6), 0, 0);
vertexs[i] = v;
if (i % 6 <= 2)
{
vh.SetUIVertex(v, (i / 6) * 4 + i % 6);
}
if (i % 6 == 4)
{
vh.SetUIVertex(v, (i / 6) * 4 + i % 6 - 1);
}
}
}
}
分析代码:分析代码:
1)首先创建一个字体间距的变量,然后需要继承BaseMeshEffect类并且实现其中的抽象的方法MeshModify()函数。
2)创建一个容器从网格信息生成器vh中将字体的顶点信息全部加载保存下来
3)接下来开始遍历获取到的顶点,我们知道每个字体是由两个三角形的组成的网格,字体是显示在这样的网格上的,因此每
个字体也就对应6个顶点。那么就开始移动每个顶点就可以了。
4)移动顶点之后要记得设置UV顶点与顶点索引的对应关系,因为一个字体网格由两个三角形组成,那么就重叠了两个顶点,
故而一个字体的6个顶点,就只对应4个UV顶点索引,如上代码显示的那样。
分析如下分析如下:
资源评论


weixin_38742124
- 粉丝: 3
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 共享存储可重构计算机软硬件通信的优化实现措施和途径.docx
- 个人商用网站大学设计.doc
- 《数据库技术》课程设计报告.doc
- 推进文化产业繁荣与互联网融合发展.docx
- 四工位组合机床的plc控制系统设计---正文.doc
- 计算机三级网络技术考试要点.doc
- 低轨无拖曳卫星的自适应神经网络控制器设计.docx
- java程序方案设计书综合实训实施方案书.doc
- 基于51单片机的酒精检测仪课程方案设计书.doc
- 互联网金融时代下余额宝的风险及监管对策.docx
- 中医中毒MicrosoftPowerPoint演示文稿.ppt
- 第四章作业微型计算机控制技术.ppt
- 项目管理之指定分包商问题.docx
- 关于中职学校计算机实验室的管理与维护的探讨.docx
- 基于Web图书管理系统设计方案与开发.doc
- 企业财务管理信息化中智能预算管理系统研究.docx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制
