Unity 字體使用介紹
分類
說明
在 Unity 中設定字體並不是直接在網路下載字體檔(.ttf),然後設定要使用哪個字體檔這麼簡單,你需要先建立 Font Asset 才能使用字體。本篇將簡單介紹字體要如何使用。
本範例使用的字體為 TextMeshPro。
匯入 TextMeshPro
你在第一次建立 TextMeshPro 文字時會看到 TMP Importer,點擊 Import TMP Essentials 即可。
建立 Font Atlas
首先將下載下來的字體放在 Assets/Fonts/{TextName}/ttfs
裡面,資料夾位置可以自訂,TextName 是字體名稱。
接著打開 Font Asset Creator。
位置:Window > TextMeshPro > Font Asset Creator。
- Source Font File: 選擇 ttf 字體檔。
- Character Set: 第一次選擇 ASCII。
Character Set 選擇 ASCII 意思是基本的 A-Z,a-z,0-9這些等等的,後面我會再說明如何添加文字。
其他選項我都保留預設,請在自行設定。
接著點擊 Generate Font Atlas,然後點擊 Save as… 另存新檔。
儲存位置建議:Assets/Fonts/{TextName}/atlas
。
名稱建議命名:{TextName}{Purpose},例如:TaipeiTitle,台北字體,用途為標題,大家可以依照自己的喜好命名。
新增文字
如果文字出現「口」框框的樣子,代表需要新增文字,新增辦法如下。
選擇任意一個 .asset 字體檔,點擊 Update Atlas Texture。
- Character Set: 選擇 Custom Characters。
- Custom Character List: 輸入要新增的文字。
- 點擊 Generate Font Atlas。
- 點擊 Save,代表儲存一開始選擇 .asset 檔。
字體資料夾結構說明
上述範例建議檔案存放特定位置是因為,一個 .ttf 字體檔,可能會產生多個 .asset 字體檔,每個 .asset 字體檔都有其特定用途,例如:標題、內容、有陰影的字體、只有輪廓的字體等等…。
會有多個 .asset 是因為每個文字遊戲物件都會設定要使用哪個 .asset 檔案,所以如果一個 .asset 用在多個文字遊戲物件上,當你修改 .asset 需要加上外框 outline,你會一起把用此 .asset 的文字遊戲物件都加上外框,我不知道是否有辦法用程式加上外框,但我可以告訴你這個想法可能不會比我現在建議分成多個 .asset 還好。
設定字體
為了示範,首先我建立一個 TextMeshPro,在 Hierarchy 空白處按右鍵 > UI > Text - TextMeshPro 建立文字遊戲物件。
在 Inspector 的 TextMeshPro 組件設定 Font Asset,就是之前建立的 atlas。
設定 Font Asset 材質
在設定好 Font Asset 之後,你就可以在 Inspector 的最下面看到 Material,需注意這會套用所有使用此 Font Asset 的文字遊戲物件。
關於 Font Asset 材質裡面的內容以後我有機會再寫另外一篇分享給大家。
參考
一杯咖啡的力量,勝過千言萬語的感謝。
支持我一杯咖啡,讓我繼續創作優質內容,與您分享更多知識與樂趣!