Unity UI -- (2) 給場(chǎng)景加一個(gè)標(biāo)題
?
添加Text并將其放到正中位置
? ? ? ? 我們來(lái)增加項(xiàng)目的第一個(gè)UI元素:標(biāo)題。
? ? ? ? 1. 在Hierarchy中,點(diǎn)擊右鍵,選擇UI > Text - TextMeshPro。如果彈出了一個(gè)TextMeshPro Importer窗口,選擇Import TMP Essentials。TextMeshPro(TMP)是一個(gè)健壯的(robust)、易于使用的文字編輯工具,也被優(yōu)化來(lái)用于在不同屏幕上清晰顯示文字。
? ? ? ? ? ? 當(dāng)完成上面步驟后,在游戲視圖中會(huì)出現(xiàn)“New Text”的文字,這些文字較小。如果你沒(méi)有在一樣的位置上看到這些文字,或者文字大小不同,這是正?,F(xiàn)象。

? ? ? ? 3. 將Pos X和Pos Y設(shè)置為0,讓文字顯示到屏幕中心。如果你的文字正好在另一個(gè)游戲物體之上,不容易看清楚,則適當(dāng)調(diào)整一下文字位置即可。

? ? ? ? ? ? 我們會(huì)注意到,在創(chuàng)建text物體時(shí),還自動(dòng)增加了Canvas和EventSystem游戲物體。Canvas是任何UI元素所必需的父物體;EventSystem管理UI交互,比如按鈕點(diǎn)擊等。

?自定義標(biāo)題
? ? ? ? 1. Hierarchy中選中Text游戲物體,找到TextMeshPro - Text(UI)組件。我們使用這個(gè)組件來(lái)的自定義文字的外觀。
? ? ? ? 2. 在Text Input域段,輸入一個(gè)標(biāo)題名。這個(gè)標(biāo)題名可以根據(jù)自己想寫(xiě)的任意來(lái)。如果它太長(zhǎng)了,則文字可能會(huì)自動(dòng)換行。


? ? ? ? ? ? 在TextMeshPro組件中,使用FontAsset,F(xiàn)ont Style,F(xiàn)ont Size, Vertex Color,Spacing和其他屬性自定義標(biāo)題文字的外觀。
? ? ? ? 使用Rect Transform組件里的Pos X和Pos Y屬性調(diào)整一下文字的位置。
? ? ? ? 如果你想要在標(biāo)題文字中某個(gè)地方換行,直接在Text Input域中修改文字內(nèi)容即可。



確保文本可用性(accessibility)
什么是文本可用性(text accessibility)?
? ? ? ? 可用性是指不同身體條件的用戶如何能夠成功地與你的應(yīng)用程序交互。對(duì)于文本來(lái)說(shuō),它和文字的視覺(jué)可用性關(guān)系最為密切。
? ? ? ? 下面是一些需要考慮的事情:
? ? ? ? 文字大?。何淖忠銐虼笠员汩喿x起來(lái)舒適。
? ? ? ? 文字對(duì)比度:文字要和背景有明顯的對(duì)比,能夠輕易看到,不和背景融為一體。
? ? ? ? 文字字體/類型:字體要清晰易讀。
? ? ? ? 文字內(nèi)容:內(nèi)容使用經(jīng)常使用的、熟悉的文字,讀者能夠通過(guò)屏幕能輕松閱讀(特殊情況除外)。
評(píng)估可用性
? ? ? ? 來(lái)看下圖的例子,試著評(píng)估一下其文本可用性。

? ? ? ? 在上面的例子中,標(biāo)題文字太小,對(duì)比度不夠(主要是和火焰重疊的部分),使用了較難閱讀的字體,拼寫(xiě)B(tài)est的S時(shí)用了美元符號(hào)。
? ? ? ? 這個(gè)例子比較極端,但很多時(shí)候即使是一些細(xì)微的修改,對(duì)與用戶是否能成功與你的應(yīng)用交互都會(huì)有很大的影響。
? ? ? ? 對(duì)于文本可用性的更多細(xì)節(jié),可以參考以下鏈接:????????
https://accessibility.digital.gov/visual-design/typography/
https://webaim.org/techniques/fonts/
?
? ? ? ??
????我們現(xiàn)在對(duì)文本可用性有了一定了解,花一點(diǎn)時(shí)間來(lái)調(diào)整一下標(biāo)題吧。

探索:下載并導(dǎo)入新字體
? ? ? ? 在TextMeshPro組件中,我們會(huì)看到有一個(gè)Font Asset屬性。使用物體選擇器(圓形)我們可以選擇項(xiàng)目中提供的一些字體。
? ? ? ? 如果要讓TMP使用新的字體,我們需要使用TMP的Font Asset Creator Tool。它會(huì)生成“font atlas”,這個(gè)font atlas被TMP用來(lái)顯示文本。

? ? ? ? 2. 下載我們喜歡的字體,字體文件格式為.otf或.ttf,然后將它們導(dǎo)入到我們的工程中。
? ? ? ? 3. 在Unity的主菜單中,選擇 Window > TextMeshPro > Font Asset Creator。
? ? ? ? 4. 在Font Asset Creator窗口中,將我們下載的字體作為Source Font File,選擇Generate Font Atlas,然后選擇Save。
? ? ? ? ? ? ?最后我們將Font Asset屬性修改為這個(gè)新建的字體資源即可。
