找回密碼
 注冊帳號

掃一掃,訪問微社區

字體

2015-1-6 10:41| 發布者: 楊炎| 查看: 1750| 評論: 0|原作者: 蠻牛|來自: unity3d腳本manual

摘要: 字體字體 (fonts)可以進行創建或導入,以在圖形用戶界面文本 (gui text)或文本網格 (text mesh)組件中使用。導入字體文件要將字體添加到工程,需要將字體文件置于資源文件夾中。unity 隨后將自動導入該文件。支持的 ...

字體

字體 (fonts)可以進行創建或導入,以在圖形用戶界面文本 (gui text)或文本網格 (text mesh)組件中使用。

導入字體文件

要將字體添加到工程,需要將字體文件置于資源文件夾中。unity 隨后將自動導入該文件。支持的字體格式為 truetype 字體(.ttf 或 .dfont 文件)和 opentype 字體(.otf 文件)。

要更改字體大小,請在工程視圖 (project view)中突出顯示它,在檢視器 (inspector)導入設置 (import settings)中提供了一些選項。

字體的導入設置

屬性:

功能:

字體大小 (font size)

字體大小(基于任何文字處理程序中設置的大小)

字符 (character)

字體的文本編碼。可以在此處強制字體僅顯示大寫或小寫字符

將此模式設置為“動態”(dynamic) 會使 unity 使用底層操作系統字體渲染例程(請參閱下文)。

2.x 字體放置 (2.x font placing)

與 2.x 相比,unity 3.x 使用印刷更正確的垂直字體放置。我們現在使用存儲在 truetype 字體數據中的字體升高,而不是在渲染字體紋理時進行計算。勾選此屬性會使用 2.x 垂直放置。

特定于非動態字體的導入設置

屬性:

功能:

字體渲染 (font rendering)

應用于字體的抗鋸齒量。

特定于動態字體的導入設置

屬性:

功能:

樣式 (style)

應用于字體的樣式(“正常”(normal)、“粗體”(bold)、“斜體”(italic) 或“粗斜體”(boldanditalic) 之一)。

包括字體數據 (include font data)

此設置控制與“動態”(dynamic) 字體屬性一起使用時的字體打包。選中時,ttf 會包括在編譯版本輸出中。未選中時,會假設最終用戶已在其計算機上安裝了字體。請注意,字體受版權保護,只應包括已獲得許可或為自己創建的字體。

字體名稱 (font names)

僅當未選擇“包括字體數據”(include font data) 時可用。輸入逗號分隔的字體名稱列表。將從左到右依次嘗試這些字體,會使用在游戲者計算機上找到的第一個字體。

導入字體之后,可以在“工程視圖”(project view) 中展開字體,會看到其自動生成了一些資源。導入過程中會創建兩個資源:“字體材質”和“字體紋理”。

動態字體

unity 3.0 添加了對動態字體渲染的支持。將“導入設置”(import settings) 中的字符 (characters)下拉菜單設置為動態 (dynamic)時,unity 不會對所有字體字符預先生成紋理。而是使用 freetype 字體渲染引擎動態創建紋理。這樣做的優點是可以節省下載大小和紋理內存,尤其是在使用通常包括在用戶系統中的字體時,因此您不必包括字體數據,或是在需要支持亞洲語言或較大字體大小時(使用正常字體紋理時,這會使字體紋理非常大)。

unicode 支持

unity 可完全支持 unicode。unicode 文本使您可以顯示在 ascii 字符集中通常不支持的德語、法語、丹麥語或日語字符。如果字體支持,還可以輸入許多不同的特殊用途字符(如箭頭符號或選項鍵符號)。

要使用 unicode 字符,請從“導入設置”(import settings) 的字符 (characters)下拉菜單中選擇unicode動態 (dynamic)。現在可以使用此字體顯示 unicode 字符。如果使用圖形用戶界面文本 (guitext)文本網格 (text mesh),則可以在檢視器 (inspector) 中將 unicode 字符輸入組件的文本 (text)字段中。請注意,mac 上的檢視器 (inspector) 可能不會正確顯示 unicode 字符。

如果要從腳本設置顯示的文本,則也可以使用 unicode 字符。javascript 和 c# 編譯器完全支持基于 unicode 的腳本。只需使用 utf-16 編碼保存腳本。在unitron中,可以通過打開腳本并選擇文本 (text)->文本編碼 (text encoding)->unicode (utf 16),來實現此目的。現在可以在腳本中將 unicode 字符添加到字符串,它們會按照預期方式顯示在unitygui、圖形用戶界面文本 (guitext) 或文本網格 (text mesh) 中。在將uniscite用于腳本編輯的 pc 上,使用 ucs-2 little endian 編碼保存腳本。

更改字體顏色

根據字體的使用方式,可通過不同方式更改所顯示字體的顏色。

圖形用戶界面文本 (guitext) 和文本網格 (text mesh)

如果使用圖形用戶界面文本 (guitext) 或文本網格 (text mesh),則可以通過將自定義材質用于字體來更改其顏色。在“工程視圖”(project view) 中,單擊創建 (create)->材質 (material),然后在檢視器 (inspector)中選擇并設置新創建的材質。確保將紋理從字體資源分配給材質。如果將內置圖形用戶界面/文本著色器 (gui/text shader)用于字體材質,則可以在材質的文本顏色 (text color)屬性中選擇顏色。

unitygui

如果使用 unitygui 腳本顯示字體,則對于不同情況下的字體顏色具有多得多的控制權。要更改字體的顏色,請通過資源 (assets)->創建 (create)->圖形用戶界面皮膚 (gui skin)創建圖形用戶界面皮膚 (guiskin),然后為特定控制狀態定義顏色,例如標簽 (label)->正常 (normal)-> 文本顏色 (text color)。有關更多詳細信息,請閱讀圖形用戶界面皮膚 (gui skin) 頁面。

提示

要顯示導入的字體,請選擇該字體并選擇游戲對象 (gameobject)->創建其他 (create other)->三維文本 (3d text)。

僅使用小寫或大寫字符可減小生成的紋理大小。

unity 提供的默認字體為 arial。此字體始終可用,不會出現在“工程”(project) 窗口中。

相關閱讀

文章點評
相關文章
女校游泳队彩金