解決Unity3D的新版TextMeshPro(TMP)無法顯示中文方法。(亂碼、口口、框框)
【優(yōu)點(diǎn)】
TextMeshPro(TMP0比舊的Text功能強(qiáng)大。
高分辨率下字體清晰。
缺點(diǎn)是體積到幾十MB。
【總結(jié)】
1、下載一個(gè)新的字體文件,要TMP能用。
2、拖動(dòng)到UNITY3D的項(xiàng)目里。
3、對(duì)【項(xiàng)目】里的字體點(diǎn)【右鍵->創(chuàng)建->3D->TextMeshPro->字體資源】
4、會(huì)生成一個(gè)新的文件在同項(xiàng)目同目錄下。圖標(biāo)應(yīng)該是藍(lán)色的大大的F。
5、選中新字體文件后,觀看你UNITY3D的畫面右方,觀看【檢查器】窗口的【Generation Settings】項(xiàng)目【ATLAS POPULATION MODE】欄目里,設(shè)置為DYNAMIC(英文是動(dòng)態(tài)的意思)。原本是靜態(tài)是無效的,要設(shè)置動(dòng)態(tài)才有效。
6、可以修改上一條的ATLAS WIDTH和ATLAS HEIGHT的字體長(zhǎng)寬高(建議8192)。也可以點(diǎn)擊【檢查器】的右上角的【UPDATE ATLAS TEXTURE】,進(jìn)入后再修改【ATLAS RESOLUTION】為8192。這是修改字體大小,保證高分辨率下字體會(huì)清晰。
7、修改后,點(diǎn)擊【GENERATE FONT ATLAS】生成,之后記得再拉下去看,再點(diǎn)擊【SAVE】保存。
8、這個(gè)時(shí)候字體已經(jīng)生成好了,打開你的TEXT(TMP)文本欄,觀看【檢查器】的【Font Asset】欄目,選中你剛生成的字體,就可正常顯示中文】
【錯(cuò)誤例子】
2-1、字體必須英文目錄,否則會(huì)出錯(cuò)。
2-2、生存字體前的TEXT(TMP)可能出BUG,刪除后再創(chuàng)建一個(gè)就好
2-3、法律規(guī)定字體有版權(quán),用商用字體會(huì)賠錢和下架,記得使用免費(fèi)字體。
2-4、使用https://fonts.safe.#/ 可在線查電腦安裝的字體是否免費(fèi)可商用字體??稍贐站查可免費(fèi)商用字體,
2-5、但我只推薦使用谷歌制作的思源字體(一個(gè)字體包含日文、韓文、簡(jiǎn)繁中文)。你制作游戲必定必須考慮多語言。像手寫體什么的字體就只包含中文無法包含多國(guó)語言。
思源黑體谷歌下載:https://github.com/adobe-fonts/source-han-sans
我分流度盤下載: