文章转载自https://blog.csdn.net/qq_33337811/article/details/79029733
TextMeshPro
1.文档
2.组件信息
TextMeshPro组件划分为两块:文本输入框和字体设置
1/ 文本输入框
这个区域是输入要渲染的文本的地方。
Enable RTL Editor文字显示与输入倒序。
多行文本可以敲击回车或者输入\n;
支持富文本:更多支持的持富文本
如常用:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
效果:
2/ 字体设置
Font Asset
渲染文本用的TextMeshPro字体资源(TextMeshPro适应自己的字体资源,可通过Windows-TextMeshPro-FontAssetCreator创建,详情)
Material Preset
每个字体资源都有一个默认的材质,但是也可以为它创建自定义材质。你可以使用这个下拉菜单快速选择一个材质的变体。
preset列表是通过搜索包含字体资源名称的所有材质来填充的,并使用匹配的字体atlas纹理。
Font Style
给所有文本设置文本风格,如粗体,斜体
Vertex Color
给应用了颜色富文本之外的文本设置顶点色
Color Gradient
启用顶点颜色梯度
Override Color Tags
启用重写颜色标签富文本,会导致所有的文字使用Color属性的颜色,而使颜色富文本失效(仅是颜色失效,富文本内容不变,即<color=yellow>Yellow text</color>
中的<>内的内容仍然不会显示给玩家
Font Size
文字大小
Auto Size
字体大小在最小最大值间动态调整,使文本内容适应文本框大小
启用自动大小时,可以指定最小和最大大小。TextMesh Pro将计算出要使用的大小,通过多次执行布局,直到找到最合适的。最终的字体大小显示在FontSize的输入字段中。
WD%字段包含一个控制最大字符宽度减少的百分比。这使得字符可以水平压缩以使它们更高。这通常只适用于数字。
您还可以允许降低行高度,以适应更大的字体大小。您可以通过Line字段来控制它。
当启用自动大小时,文本将多次布局以找到合适的匹配。因此,只有在需要时才启用它,并避免频繁更改动态文本。如果您的文本没有改变,您可以启用自动大小来找到最佳匹配,然后禁用它并手动使用计算过的字体大小。
Spacing Option
间隔选项:
Char字符间隔(如ABC间间隔)
Word子串与子串间隔(字与字间若有空格,空格的大小,如AB C中B与C间隔)
Line行间距
Par.段间距
Alignment
文本对齐方式:
左对齐、居中、右对齐等
Wrapping&Overflow
自动换行 启用禁用:
启用时文本超出会被分割,自动换行;
禁用时候处理方式看右侧的溢出处理方式:
- Overflow:直接溢出显示
- ellipsis:溢出的部分省略,插入…(测试时候也没看到)
- Truncate:溢出的部分省略
- Page:把文本更具适应显示区域切为几个部分,分页显示(这个选项下启用Wrapping自动换行才会作用)
- Masking:只对UI有效,3D无效。像overflow一样渲染文本,显示区域外的会被shader隐藏。
- ScrollRect:目的同上,但是相反的。
UV Mapping Options
可以使用一个着色器来支持额外的纹理,以在文本上方映射图像。UV Mapping Options控制纹理是如何横跨文本。每个维度可以使用不同的设置。左边的选项是X维,右边的选项是Y维。
图片WrapMode应是Repeat,否则会出错。
Character:将纹理拉伸到每个字符的精灵,所以每个字符都显示相同的图像,按其自身的纵横比拉伸:
Line:将纹理拉伸到每条线的宽度或高度。
Paragraph:将纹理扩展到整个文本。
Match Aspect:确保纹理在一个维度上缩放,以保持其原始的长宽比。这确保了纹理不会变形。如何将纹理映射到文本上是由另一个维度控制的,因此您不能将两者都设置为匹配的方面。
UV偏移量可以用来调整纹理在X和Y尺寸上的相对位置。当这些偏移量被添加到纹理坐标时,为了直观地将纹理移动到一个正的方向,你将不得不使用一个负偏移量。
还有一个line偏移量,在使用行或段落映射时,每一行都被添加到X偏移量中。你可以用这个来做倾斜的纹理。
Enable Kerning?
如果在字体资源的Kerning表中定义了任何Kerning对,启用或禁用Kerning。
Extra Padding?非常小的字体可能需要额外的填充。这种额外的填充可以防止字符被剪。
Extra padding最大化了用于渲染字符的精灵的大小。几何图形是为了适应可见文本而创建的,但这并不总是完美的。为精灵添加额外的填充物,以防止glyphs被切断在他们的sprite的边界。
3/ 额外设置
Margins:
在文本框和文字内容区域间增加些空(可在编辑器中拖拽黄色框调整)
EnableRichText?是否支持富文本
取消勾选时不支持,这富文本标签会原样显示