Unity中3DText顯示模糊不清的解決方案

在Unity中,當我們想要給3D物體一個文字說明時,使用Canvas下的Text雖然也能通過縮放實現,但是實現起來比較麻煩,改動的多,大小和位置也不容易控制。

此時就需要用到我們的3DText瞭,對於初次使用這個組件的“攻城獅”來說,會發現在Game場景中很模糊

具體修改操作如下:

此時,隻需要選中當前3DText的物體,修改TextMesh組件下的Character Size和Font Size兩個屬性值。例如:

在這裡,Character Size值越小,同時Font Size越大,字體就會顯示的越大越清晰,具體調節根據自己的需要。小編修改後的效果如下。

以上皆為個人觀點,僅供參考。

補充:解決Unity原生UI文字模糊的小技巧

很多人都覺得Unity原生UI(uGUI)的Text不好用,功能過分簡單,而且還很模糊。比如題圖中第一行Text使用瞭size =24的字號,邊緣明顯模糊瞭。因此,目前流行使用TextMeshPro來制作UI文字,甚至Unity把TextMeshPro都買下來內置到引擎瞭。

TextMeshPro功能確實強大,但一個劣勢是不能直接識別字體文件,需要用戶自己將字體文件轉換成Atlas(也就是圖片式的字符集)再使用。這對於英文字體非常簡單,一共也就那麼多個字符需要轉換,但對於中文字體來說就很麻煩瞭,常用中文字集有3500和6500兩個版本,轉換耗時非常久。

對於對UI文字要求沒那麼高的用戶來說(比如我),還是直接使用uGUI的Text更為方便,但這個模糊問題又很惱火。

我仔細研究瞭一下uGUI的Text,發現:這個模糊其實是顯示字體時為瞭抗鋸齒而出現的,不同字號的Text的邊緣模糊程度如果用像素來衡量的話其實是一樣的。比如題圖第三行Text使用瞭size =128的字號,給人的感覺就好很多瞭(雖然其實邊緣模糊絕對數值和第一行是一樣的)。

這說明,如果我們能將大字號的Text縮小,那麼這個縮小版就比小字號Text的邊緣要清晰很多。

題圖中第二行字同樣使用size =128的字號,但同時設置Scale為0.2,這樣其實際尺寸與第一行字差不多,但邊緣模糊幾乎不存在瞭,反而感覺有點太銳化瞭。

這樣就比較完美地解決瞭uGUI文字模糊的問題,我們又可以開心地使用Text來制作UI瞭。

PS:uGUI Text的字號(size)最大隻能設置到300,但我個人感覺已經夠用瞭。

以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。如有錯誤或未考慮完全的地方,望不吝賜教。

推薦閱讀:

    None Found