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?是否支持富文本 
取消勾選時不支持,這富文本標籤會原樣顯示


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