TextMeshPro

文章转载自https://blog.csdn.net/qq_33337811/article/details/79029733

TextMeshPro

1.文档

用户手册 在线文档 视频教程

2.组件信息

TextMeshPro组件划分为两块:文本输入框字体设置

1/ 文本输入框

这个区域是输入要渲染的文本的地方。 
Enable RTL Editor文字显示与输入倒序。

多行文本可以敲击回车或者输入\n;

支持富文本:更多支持的持富文本

如常用:

粗体:<b>Bold</b>
斜体:<i>Italics</i>
下划线:<u>Underline</u>
删除线:<s>Strikethrough</s>

上标:<sup>Superscript</sup>
下标:<sub>Subscript</sub>
设定字体大小:<size=48>Point size 48</size>
设置字体相对大小:<size=+18>Point size increased by 18</size>
设置字体相对大小:<size=-18>Point size decreased by 18</size>
设置偏移距离:<pos=5.5>Characters positioned about 5.5 characters from left side.
设置颜色:<color=yellow>Yellow text</color>
设定颜色:<#00ff00>Green text</color>
阴影强调:<mark=#ffff0040>Highlighting</mark>
  • 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:将纹理拉伸到每个字符的精灵,所以每个字符都显示相同的图像,按其自身的纵横比拉伸:

Character–character mapping.

Line:将纹理拉伸到每条线的宽度或高度。

Line–line mapping.

Paragraph:将纹理扩展到整个文本。

Paragraph–paragraph mapping.

Match Aspect:确保纹理在一个维度上缩放,以保持其原始的长宽比。这确保了纹理不会变形。如何将纹理映射到文本上是由另一个维度控制的,因此您不能将两者都设置为匹配的方面。

Character–match aspect mapping.

UV偏移量可以用来调整纹理在X和Y尺寸上的相对位置。当这些偏移量被添加到纹理座标时,为了直观地将纹理移动到一个正的方向,你将不得不使用一个负偏移量。

还有一个line偏移量,在使用行或段落映射时,每一行都被添加到X偏移量中。你可以用这个来做倾斜的纹理。

Line–line mapping with offset.

Enable Kerning? 
如果在字体资源的Kerning表中定义了任何Kerning对,启用或禁用Kerning。

Extra Padding?非常小的字体可能需要额外的填充。这种额外的填充可以防止字符被剪。 
Extra padding最大化了用于渲染字符的精灵的大小。几何图形是为了适应可见文本而创建的,但这并不总是完美的。为精灵添加额外的填充物,以防止glyphs被切断在他们的sprite的边界。

3/ 额外设置

Margins: 
在文本框和文字内容区域间增加些空(可在编辑器中拖拽黄色框调整)

EnableRichText?是否支持富文本 
取消勾选时不支持,这富文本标签会原样显示


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章