TextMeshPro系列 —— TextMeshPro (UGUI)
TextMeshPro (UGUI)
默认情况下,TextMesh Pro UI Text 游戏对象包含以下组件:
- Rect Transform:控制游戏对象在画布上的位置和大小。
- Canvas Renderer:在画布上渲染游戏对象。
- TextMesh Pro UGUI:包含要显示的文本,以及控制其外观和行为的属性。
- Material:一个 Unity 材质,使用 TextMesh Pro 着色器之一,进一步控制文本的外观。
Properties Overview
Text Input
文本部分是您输入要显示的文本的地方,并可以选择使用富文本标记来自定义它。
属性 | 功能 |
---|---|
Text | 显示文本的输入字段。 |
启用此选项可以让文本从右到左显示,而不是从左到右显示;启用后,检查器中会显示一个额外的输入字段,您可以在其中查看反转后的文本,并直接编辑它。文本会在显示到屏幕上或渲染之前被反转。 |
Main Settings
主要设置部分包含定义文本基本外观所需的属性。通过修改或编辑文本的材质,您可以进一步自定义文本的外观。
这意味着,您可以使用该部分设置文本的基本样式(如字体、颜色、大小等),然后通过调整材质来对文本的效果进行更细致的控制,比如添加阴影、描边、发光等高级效果。
Font
字体设置面板是您选择文本字体并自定义字体样式的地方。
在这个面板中,您可以选择要使用的字体文件(如 TTF 或 OTF 格式),并设置该字体的样式,例如字体的粗细(粗体、斜体等)、大小、行间距等。通过这些设置,您可以控制文本的外观,使其符合设计需求。
属性 | 功能 |
---|---|
Font Asset | 为 TextMesh Pro 游戏对象选择一个字体资源; TextMesh Pro 自带了多个字体资源,您也可以从标准字体文件(例如 TrueType 字体(TTF)文件)创建其他字体资源; 注意:您可以在 TextMesh Pro 设置中为新文本对象设置默认字体资源,这样每当创建新的文本对象时,默认字体就会自动应用。 |
Material Preset | 为您的字体选择一个材质; 每个字体资源都有一个默认的材质,但您也可以为其创建自定义材质; 此预设列表包括所有材质,它们的名称包含字体资源的名称,并使用相应的字体图集纹理。这意味着,如果您为某个字体资源创建了多个自定义材质,您可以在此列表中看到并选择它们,以进一步自定义文本的外观,比如添加不同的效果(如阴影、描边等)。 |
Font Style | 启用标准文本样式选项; 您可以任意组合使用这些选项,除了大小写选项(小写、大写和小型大写),它们是互斥的,意味着您只能选择其中一个。其他样式选项(如粗体、斜体、下划线等)可以与其他选项一起使用,而不会产生冲突。 |
B | 粗体 |
I | 斜体 |
U | 下划线 |
S | 中划线 |
ab | 小写 |
AB | 大写 |
SC | 启用此选项后,文本将以全大写字母显示,但您实际输入的大写字母会比普通的大写字母更大。 |
Font Size | 字体大小 |
Auto Size | 启用此选项可以根据自动调整大小选项自动设置字体大小; 启用此选项后,TextMesh Pro 会多次排版文本,以找到合适的字体大小。这个过程需要较多的资源,因此建议避免对频繁变化的动态文本使用自动调整大小功能; |
Color
TextMesh Pro 使用顶点颜色来为文本着色。您可以应用统一的颜色,也可以应用最多四种颜色的渐变效果。
属性 | 功能 | |
---|---|---|
Vertex Color | 您选择的主色将作为基础颜色应用于文本,之后 TextMesh Pro 会将此颜色与其他已定义的颜色或材质中的纹理效果相结合,最终呈现出混合效果。 | |
Color Gradient | 启用此选项以对每个字符精灵应用颜色渐变; 然后,您可以设置渐变的类型和颜色,或者应用一个颜色渐变预设; 渐变颜色会与顶点颜色相乘。如果顶点颜色设置为白色,您将只看到渐变颜色。如果顶点颜色设置为黑色,您将完全看不到渐变颜色。 | |
Color Preset | 选择一个颜色渐变预设; 当您应用一个预设时,它的颜色模式和颜色将替代文本在检查器中的本地属性; 编辑这些属性会修改预设,从而影响所有使用该预设的 TextMesh Pro 游戏对象; 将此属性设置为“无”以恢复为文本的本地渐变属性。 | |
Color Mode | 选择要应用的颜色渐变类型;TextMesh Pro 会对每个字符单独应用渐变。 | |
Single | 统一的颜色,用于修改基础的顶点颜色 | |
Horizontal Gradient | 一种双色渐变,每种颜色从字符的一侧散发出来。 | |
Vertical Gradient | 一种双色渐变,一种颜色从字符的顶部散发,另一种颜色从底部散发。 | |
Four Corners Gradient | 一种四色渐变,每种颜色从字符的不同角落散发出来。 | |
Override Tags | 启用此选项以忽略任何更改文本颜色的富文本标签。 |
Spacing
这些选项控制字符、单词、行和段落之间的间距。您可以使用它们来微调单个 TextMesh Pro 游戏对象的文本,而无需调整其字体资源。
要控制单个 TextMesh Pro 游戏对象内的间距,请使用富文本标签。
属性 | 功能 |
---|---|
Character | 设置此 TextMesh Pro 游戏对象中字符之间的间距。 |
Word | 设置此 TextMesh Pro 游戏对象中单词之间的间距。 |
Line | 设置此 TextMesh Pro 游戏对象中行之间的间距。 |
Paragraph | 设置此 TextMesh Pro 游戏对象中段落之间的间距;段落是通过显式的换行符来定义的。 |
Alignment
水平和垂直对齐选项控制文本在显示区域中的位置。
Wrapping and Overflow
换行将文本行分割开,以确保它们不会超出显示区域的宽度。文本行通常在单词边界处换行,但超过整行长度的单词也会被拆分(对中文而言,是垃圾功能)。溢出控制当文本无法完全显示在区域内时发生的情况。
某些溢出选项会优先于换行。例如,如果溢出设置为截断(truncate),当文本到达显示区域的边缘时,文本将被截断,无论是否启用了换行。
属性 | 功能 | |
---|---|---|
Wrapping | 启用或禁用单词换行 | |
Overflow | 指定当文本无法完全显示在显示区域内时发生的情况。 | |
Overflow | 将文本扩展到显示区域的边界之外,但如果启用了换行,仍会进行换行处理。 | |
Ellipsis | 截断文本并插入省略号(…),以表示部分文本被省略。 | |
Masking | 类似于溢出,但着色器会隐藏显示区域外的所有内容。 | |
Truncate | 当文本不再适合时,截断文本。 | |
Scroll Rect | 一种类似于遮罩的旧版模式。此选项仅为与旧版 TextMesh Pro 项目的兼容性而提供。对于新项目,请改用遮罩模式。 | |
Page | 将文本切割成几页,每页都适合显示区域; 您可以选择显示哪一页。还可以使用富文本手动插入分页符; 注意:垂直对齐选项是按每页来设置的。 | |
Linked | 将文本扩展到您选择的另一个 TextMesh Pro 游戏对象中; 这对于创建多列文本非常有用。 |
UV Mapping
一些 TextMesh Pro 着色器允许您将一个或多个图像纹理应用到文本上。这些选项控制纹理如何拉伸以适应文本。
您还可以在着色器本身中编辑特定的纹理选项。可用的选项取决于您使用的着色器。
在为文本应用纹理时,请确保您的纹理资源的包裹模式设置为重复。否则,当纹理应用到文本上时,可能会出现严重的扭曲。
属性 | 功能 | |
---|---|---|
Horizontal Mapping | 指定当您使用支持纹理的着色器时,纹理如何在水平方向上映射到文本。 | |
Character | 在每个字符的精灵上水平拉伸纹理。 | |
Line | 在每一行的整个宽度上水平拉伸纹理。 | |
Paragraph | 在整个文本的宽度上水平拉伸纹理。 | |
Match Aspect | 水平缩放纹理以保持其纵横比,避免变形; 当使用此水平映射模式时,垂直映射设置决定纹理如何映射到文本,并且必须设置为除“匹配纵横比”以外的其他选项。 | |
Vertical Mapping | 指定当您使用支持纹理的着色器时,纹理如何在垂直方向上映射到文本。 | |
Character | 在每个字符的精灵上垂直拉伸纹理。 | |
Line | 在每一行的整个宽度上垂直拉伸纹理。 | |
Paragraph | 在整个文本的宽度上垂直拉伸纹理。 | |
Match Aspect | 垂直缩放纹理以保持其纵横比,避免变形; 当使用此水平映射模式时,水平映射设置决定纹理如何映射到文本,并且必须设置为除“匹配纵横比”以外的其他选项。 |
Extra Settings
本部分包含进一步控制文本外观和行为的选项。
属性 | 功能 | |
---|---|---|
Margins | 设置正值以增加文本与文本容器边界之间的距离; 您可以分别设置左、上、右和下边距; 负值会使文本超出文本容器的边界; 您还可以通过在场景视图中拖动文本容器控件(黄色矩形)的控制柄来调整边距。 | |
Geometry Sorting | 每个字符都包含在一个四边形中。几何排序控制 TextMesh Pro 如何对这些四边形进行排序。这决定了当两个四边形重叠时,哪个字符会显示在上方。 | |
Normal | TextMesh Pro 按照它们在网格中出现的顺序绘制四边形。当两个四边形重叠时,后绘制的四边形会显示在前绘制的四边形上方。 | |
Reverse | TextMesh Pro 以相反的顺序绘制四边形。当两个四边形重叠时,先绘制的四边形会显示在后绘制的四边形上方。 | |
Rich Text | 禁用此选项以关闭 TextMesh Pro 游戏对象的富文本支持; 当富文本支持被禁用时,标签不会被解析,而是作为普通文本呈现。 | |
Raycast Target | 启用此选项使该 TextMesh Pro 游戏对象成为射线检测目标。 | |
Parse Escape Characters | ||
启用此选项使 TextMesh Pro 将反斜杠转义字符解释为特殊字符; 例如,\n 被解释为换行符,\t 被解释为制表符,等等; 注意:这适用于渲染的文本。在代码中,转义字符已经被编译器解析。 | ||
Visible Descender | 在使用脚本慢慢显示文本时,请使用此选项; 启用此选项时,文本将从底部开始显示,并随着新行的出现向上移动; 禁用此选项时,文本将从顶部到底部显示。;要设置这种类型的文本显示,您还必须将垂直对齐设置为底部。 | |
Kerning | 启用此选项以为该 TextMesh Pro 游戏对象启用字距调整; 字距调整是在游戏对象的字体资源中定义的。如果新对象使用的字体没有字距调整数据,启用此设置将没有效果。 | |
Extra Padding | 启用此选项以为字符精灵添加额外的填充。 |
TextMesh Pro 创建精灵以适应可见文本,但结果并不总是完美的。此设置减少了字形在其精灵边界处被裁剪的可能性。 |
本文作者:陈侠云
本文链接:https://www.cnblogs.com/chenxiayun/p/18691209
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步