TextMeshPro 顯示中文

使用 TextMeshPro 時,因為 Unity 預設的字型資源(如 LiberationSans SDF)不包含中文字元,所以中文會顯示為空白或方框。
我們需要自己下載支援中文的字體檔案,一些免費的可以在網路上找到,像是 Google 的 Noto Sans Traditional Chinese

生成靜態字體

  • 將下載的字體檔案(如 .ttf 或 .otf)拖入 Unity 的專案中。
  • 使用 Window -> TextMeshPro -> Font Asset Creator,選擇字型檔案後,可以生成 .asset 檔案。
  • 這種方式需要手動指定要包含的字元範圍(如常用中文字、標點符號等),因此使用上較麻煩。

動態字體:如果不想手動管理字元集,可以使用 Dynamic Font Asset

  • 選擇 Assets -> Create -> TextMeshPro -> Font Asset
    • 快捷鍵:Ctrl/Cmd + Shift + F12
  • Unity 將自動創建一個動態字體資產,該資產會在運行時根據需要生成缺失的字元,避免因字元缺失而顯示為空白。

Reference:

評論