当前位置: 首页 > news >正文

做视频哪个网站素材好室内设计师收入高吗

做视频哪个网站素材好,室内设计师收入高吗,厦门小鱼网,软件定制外包平台也许你也曾被游戏中的对话系统深深吸引,那些精心设计的对白、鲜活的角色配音、甚至是简单的文字对话,往往能让玩家产生强烈的代入感和情感共鸣。如果你正在开发一款游戏,或者计划为你的项目加入一个引人入胜的对话系统,那么 Unity…

       也许你也曾被游戏中的对话系统深深吸引,那些精心设计的对白、鲜活的角色配音、甚至是简单的文字对话,往往能让玩家产生强烈的代入感和情感共鸣。如果你正在开发一款游戏,或者计划为你的项目加入一个引人入胜的对话系统,那么 Unity 中的 TextMesh Pro (TMP) 是你不可忽视的利器。

在这篇博客中,我们将深入探讨如何利用 TMP 实现一个灵活而精致的对话系统。


前置知识

一.富文本

1.定义

富文本(Rich Text)是指一种支持多种格式、样式和布局的文本内容,区别于普通的纯文本。它允许在文本中包含不同的字体、颜色、大小、加粗、斜体、下划线、列表、超链接等元素,从而提供更加丰富和多样的视觉呈现。

显著特征:标签的作用域和嵌套

标签的作用域是用来定义它影响文本的范围,通常情况下添加的标签会影响它之后的所有文本。

例如:We are <b>not</b> friend  此处的字体加粗格式只会应用在not字符串。

2.Unity中的富文本

在 Unity 中,富文本通常通过 Text 组件或 TextMeshPro 组件来实现。Unity 允许开发者在文本中嵌入HTML-like 标签,以达到不同的视觉效果。

该标记系统受 HTML 的启发,但并不打算与标准 HTML 严格兼容。基本思想是可以将文本的一部分包含在一对匹配标签内。                                                                                   ——摘自unity文档

TMP支持非常多样的富文本标签

二.正则表达式

正则表达式(Regular Expression,简称Regex)是一种用于描述字符串匹配规则的工具。它允许你通过特定的语法来定义字符串的模式,从而用于查找、匹配、替换、验证或分割字符串。正则表达式广泛应用于文本处理、数据验证、日志分析、编程语言的词法分析等领域。

在 Unity 中,正则表达式(Regular Expressions,简称 Regex)通常用于处理和分析字符串数据,尤其是当你需要在字符串中查找、替换、验证或者提取特定模式的信息时,正则表达式显得非常有用。

在我们的实验中,将会使用正则表达式来完成 字符匹配,字符替换,字符删除等相关操作。实现基于个性化需求的富文本格式。

三.TextMeshPro

Unity 中,TextMeshProUGUI 是用于在 UGUI 系统中显示文本的组件类,它是 TextMesh Pro 插件的一部分。TextMesh Pro 是 Unity 的一种高级文本渲染技术,提供比标准 Unity UI 文字渲染更好的字体效果、更高的性能和更多的文本样式定制功能。

我们可以打开TextMeshPro-Text组件的脚本,其实这个组件就是TextMeshProUGUI类实现的

我们可以写一个继承TextMeshProUGUI 的子类,挂载到一个UI物体上发现效果和我们直接创建一个TextMeshPro是一样的效果。

public class AdvancedText : TextMeshProUGUI
{}

1.关键变量概念:

1*preprocesser(预处理器)

preprocesser 是 TextMesh Pro 内部的一个核心组成部分,它的主要作用是将文本内容转换为适合渲染的格式,并进行一些必要的预计算和优化。预处理器通常在文本内容或样式更新时运行,确保文本的渲染更加高效和准确。

主要作用
  1. 文本解析与标记处理:TextMesh Pro 支持 富文本(Rich Text),这意味着它可以解析并渲染包含特定标签(如 <b><i><size=24> 等)的文本。预处理器负责解析这些富文本标签,并将其转化为 样式信息,以便在后续的渲染过程中使用

  2. 字符映射与字体纹理:TextMesh Pro 使用 位图字体 或 动态字体 来渲染字符。预处理器会根据文本内容查找每个字符对应的 字符映射,然后从 字体纹理图集 中提取出相应的字符纹理。

  3. 文本布局与排版:预处理器还负责进行 文本布局 和 排版,如换行、字符间距、行间距等。TextMesh Pro 支持复杂的排版效果,比如自动换行、文本缩放、字母和行的对齐等,预处理器会根据这些规则来决定每个字符的位置

2*characterinfo

CharacterInfo 主要用于存储与单个字符相关的详细信息。它通常表示一个字符(包括其位置、大小、样式、纹理等)在渲染过程中的一些元数据。每个 CharacterInfo 对象包含了该字符的所有渲染信息,包括它的 位置、宽度、高度、基线、字符的材质信息 等。

在 TMP 中,CharacterInfo 是非常基础的单位,表示一个单独字符的几何数据。它通常用于生成每个字符的渲染网格,并帮助计算字符之间的距离、对齐等。

3*textinfo

TextInfo 是 TMP 渲染过程中更高级别的结构体,它包含了整个文本块的详细信息。TextInfo 汇总了文本中所有字符的信息,并对整个文本的渲染过程进行更广泛的管理。它不仅包含了字符信息,还包括文本的布局、材质、字体、字体图集等各种信息。

TextInfo 是对文本内容的高层次表示,它将所有字符、行和字词的信息都组织起来,使得 TMP 可以更高效地处理文本渲染、样式应用和布局计算等操作。它负责将 CharacterInfo 集合在一起,形成一个完整的文本渲染结构。


注意

CharacterInfo 是 TextInfo 的组成部分:TextInfo 是一个包含多个 CharacterInfo 对象的结构体。在渲染过程中,TMP 会通过 TextInfo.textElementInfo[] 数组来访问所有字符的详细信息,而每个 CharacterInfo 则存储一个字符的具体几何信息(如顶点位置、纹理等)。

TextInfo 包含了整个文本块的布局信息,包括字符的数量、排版、字体样式,而 CharacterInfo 则专注于每个字符的具体渲染数据。


2.TMP运作原理

  1. 初始化阶段:当你第一次创建或修改 TextMeshProUGUI 组件时,预处理器会解析文本内容,并创建对应的 字符网格材质字体图集。此时会加载字体纹理图集,并计算所有字符的排列。

  2. 文本内容变更时:每当你更新文本内容(例如修改 text 属性)时,TextMesh Pro 会调用预处理器preprocessor重新解析新的文本。预处理器会根据新的文本内容生成新的字符网格、更新字符的字体材质,重新计算布局。

  3. 渲染阶段:在渲染过程中,TextMesh Pro 会根据预处理器生成的网格数据在 GPU 上渲染文本。如果文本内容没有发生变化,TextMesh Pro 会尽可能复用现有的网格和材质,从而提高渲染效率.


实现需求

我们将一起实现一个完备的对话系统,包含的功能如下:

1.自定义富文本格式的应用

2.淡入淡出动画效果

3.打字机动画效果

4.头缀注释

5.多样回答选择

在你的Unity编辑器项目中导入TMP资源,至此,我们完成了简单的知识介绍和前置准备。

本篇完

http://www.yayakq.cn/news/339065/

相关文章:

  • 深圳市建设工程质量检测中心网站论坛seo网站
  • 河北住建城乡建设网站建站平台入口
  • google网站推广网站开发查询
  • 网站建设与管理用什么软件关注公众号一单一结兼职
  • 建设自己公司的网站免费seo快速排名工具
  • pc网站做移动适配北京提供24小时医疗服务
  • 郑州网站建设q.479185700強公众号开发程序
  • 哪些公司需要网站开发工程师全免费的传奇手游
  • 电子商务网站发展建设论文企业网站推广方案设计毕业设计
  • 旅游网站建设维护wordpress 技术网模板
  • 黄村网站建设价格织梦rss转wordpress
  • wordpress网站打开速度网站内容建设 互联互通
  • 网站建设开票应该开哪个行业青岛网站建设首选营销吧系统
  • 做问卷调查有哪些网站好福州app制作公司
  • 吉林省建设厅官方网站wordpress建站全教程
  • 可以用tomcat.做网站吗想学网站建设优化去哪
  • 深圳极速网站建设费用最新流行网站开发技术
  • 国际域名查询网站无法使用wordpress
  • 个人如何网站备案东莞市网站建设
  • 网站建设 织梦者互联网创业项目推荐
  • 青年文明号网站建设建设公司网站需要钱吗
  • 宠物论坛网站策划书建设网站需要用到哪些软件
  • 做app好 还是讯网站好高阳网站制作
  • 做站群一个网站多少钱搭建一个网站需要什么
  • 建站系统平台photoshop免费素材库
  • 福建漳州东山建设局官方网站互联网营销专业
  • 北京网站建设好网站建设几个要素
  • 建设企业网站需要用营业执照么建设农业网站的论文
  • 咸阳做网站开发公司哪家好html网页制作介绍自己家乡
  • 北京公司建一个网站需要多少钱深圳网站设计兴田德润信任高