Unity 中的文字

文字是全像攝影應用程式中最重要的元件之一。 若要在 Unity 中顯示文字,您可以使用三種類型的文字元件:UI 文字、3D 文字網格和文字網格專業版。 根據預設,UI 文字和 3D 文字網格看起來模糊,而且太大。 變更幾個變數會導致 HoloLens 中具有可管理大小的更清晰、高品質文字。 您可以使用 UI 文字和 3D 文字網格元件,套用縮放比例以取得適當的維度,以達到更好的轉譯品質。

如何取得清晰且美觀的文字
Unity 中的模糊預設文字

使用 Unity 的 3D 文字 (文字網格) 和 UI 文字

Unity 假設新增至場景的所有新元素大小為一個 Unity 單位,或 100% 的轉換縮放比例。 一個 Unity 單元會在 HoloLens 上轉譯為大約 1 公尺。 針對字型,3D TextMesh 的周框方塊預設會以大約 1 公尺的高度傳入。

在 Unity 中使用字型
預設 Unity 3D 文字 (文字網格) 佔用一個 Unity 單位,也就是 1 公尺


大部分的視覺化設計工具會使用點來定義真實世界中的字型大小。 大約 2835 (2,834.645666399962) 點以 1 公尺為單位。 根據點系統轉換成 1 公尺,而 Unity 的預設 Text Mesh 字型大小為 13,13 的簡單數學除以 2835 等於 0.0046 (0.00458611116) ,可提供良好的標準尺規,以從 (部分可能想要四捨五入至 0.005) 。 將文字物件或容器調整為這些值不僅允許在設計程式中轉換字型大小的 1:1,也提供標準,讓您在整個體驗中維持一致性。

調整 Unity 3D 文字和 UI 文字的值
調整 Unity 3D 文字和 UI 文字的值


具有優化值的 Unity 3D 文字網格
具有優化值的 Unity 3D 文字網格


將 UI 或畫布型文字元素新增至場景時,大小差異仍然更大。 這兩個大小的差異大約是 1000%,這會將 UI 型文字元件的縮放比例調整為 0.00046 (0.000458611116,以完全) 或 0.0005 做為四捨五入值。

具有優化值的 Unity UI 文字
具有優化值的 Unity UI 文字


注意

任何字型的預設值可能會受到該字型的紋理大小或字型匯入 Unity 的方式影響。 這些測試是根據 Unity 中的預設 Arial 字型,以及另一個匯入的字型來執行。

使用文字網格 Pro

使用 Unity 的 Text Mesh Pro,您可以保護文字轉譯品質。 不論使用 帶正負號距離欄位 (SDF) 技術,它都支援簡潔的文字外框。 使用上述用於 3D 文字網格和 UI 文字的相同計算方法,我們可以找到適當的縮放值,以搭配傳統印刷樣式點使用。 由於大小為 36 的預設 3D Text Mesh Pro 字型大小為 2.5 Unity 單位, (2.5 公尺) ,因此我們可以使用 0.005 的縮放值來取得點大小。 UI 功能表下的 [文字網格 Pro] 預設大小為 25 Unity 單位, (25 公尺) 。 這會為調整值提供 0.0005。

調整 Unity 3D 文字和 UI 的值
調整 Unity 3D 文字和 UI 的值

如您所預期,我們在電腦或平板電腦裝置上使用的大小 (通常介於 12-32pt) 在 2 公尺的距離上看起來很小。 這取決於每個字型的特性,但根據我們的使用者研究,建議的最小檢視角度和字型高度大約為 0.35°-0.4°/12.21-13.97 公釐。 大約是 35-40 pt,其中包含上述的縮放比例。

對於在 0.45 公釐 (45 公分) 的接近互動,最小可讀字型的檢視角度和高度為 0.4°-0.5° / 3.14–3.9mm。 大約是 9-12 pt,其中包含上述的縮放比例。

接近和遠距互動範圍 內容位於近端和遠距互動範圍

最小可讀字型大小

距離 視角 文字高度 字型大小
45 cm (直接操作距離) 0.4°-0.5° 3.14–3.9mm 8.9–11.13pt
2 公尺 0.35°-0.4° 12.21–13.97mm 34.63-39.58 pt

易讀的字型大小

距離 視角 文字高度 字型大小
45 cm (直接操作距離) 0.65°-0.8° 5.1-6.3 公釐 14.47-17.8 pt
2 公尺 0.6°-0.75° 20.9-26.2 公釐 59.4-74.2 pt

Segoe UI (Windows) 的預設字型在大部分情況下都適用。 不過,請避免以小型大小使用淺色或半淺色字型系列,因為細垂直筆劃會震動,而且會降低可讀性。 具有足夠筆劃粗細的新式字型可正常運作。 例如,Helvetica 和 Arial 外觀很寬鬆,而且在 HoloLens 中具有一般或粗體粗細。

檢視角度檢視距離、角度和文字高度

具有 Mixed Reality Toolkit v2 的文字

具有適當維度的清晰文字轉譯品質

根據這些縮放比例,我們已 使用 UI 文字和 3D 文字網格建立文字預製專案。 開發人員可以使用這些預製專案來取得明確的文字和一致的字型大小。

具有適當維度的清晰文字轉譯品質
具有適當維度的清晰文字轉譯品質

具有遮蔽支援的著色器

Unity 的預設字型材質不支援遮蔽。 因此,根據預設,您會在物件後方看到文字。 我們已包含 支援遮蔽的簡單著色器。 下圖顯示預設字型材質 (左方) 的文字,以及具有適當遮蔽 (右) 的文字。

具有遮蔽支援的著色器
具有遮蔽支援的著色器

下一個開發檢查點

如果您遵循我們配置的 Unity 開發旅程,您正在探索 MRTK 核心建置組塊。 接下來,您可以繼續進行下一個建置組塊:

或者,直接跳到混合實境平台功能和 API 的主題:

您可以隨時回到 Unity 開發檢查點

另請參閱