認識Fluent Design后,開發者如何把這些設計元素應用到場景實現中呢?微軟的設計團隊為大家提供了快速的集成的選項,即開源項目MR Design Labs。
MR Design Labs是一套豐富的Unity prefab組件,主要分為5類:
- 可交互對象(Interactable Object)
- 應用欄和邊框盒(App Bar & Bounding Box)
- 對象集合(Object Collection)
- 提示框(Dialog)
- 進度組件(Progress)
可交互對象(Interactable Object)
可交互對象對于混合現實場景而言,用戶具有很多種輸入方式,包括手勢Gesture、視線Gaze、語音Voice、手柄和鍵盤鼠標等,如此多的輸入方式需要我們能夠對支持處理他們。可交互對象組件就為我們提供了對所有輸入設備的統一處理,開發者不必自己花費大量經歷自己實現。開發者基于此類組件可以實現從普通按鈕、燈光高亮按鈕再到具有動畫響應的按鈕或對象,提供良好的交互體驗。

應用欄和邊框盒(App Bar & Bounding Box)
應用欄和邊框盒對于2D場景而言,很少會直接對3D內容進行縮放拖拽處理,但這在混合現實場景中是很常見的操作。因此,MR Design Labs直接為開發者提供了一套標準的操作組件,可快速的為全息物體集成標準縮放控制行為的實現。
對象集合(Object Collection)
對象集合排列UI元素同樣是場景的內容展現形式,對于2D屏幕而言,因為只是平面排列,并無太多挑戰。但是對于在3D空間展開的混合現實內容而言,對象集合的排列則具有更豐富的形式。MR Design Labs中提供了四類常見的集合排列方式,包括平面排列、柱狀排列、球形排列以及散列集合。柱狀排列可以充分利用用戶左右視角,球形排列可以充分利用上下左右360度的視野空間,散列集合則適合在空間中展示豐富的離散信息。
提示框(Dialog)
提示框對于開發者而言,同樣是非常熟悉的UI元素了,它總是呈現在2D內容的最頂層。但是對于全息場景而言,我們無法讓提示框呈現在人眼最頂層,因為視錐最近距離的限制。因此,這類組件在項目中也做了封裝,開發者直接使用即可獲得空間定位良好能夠跟隨視野移動的標準提示框,避免自己再去實現的挑戰。
進度組件(Progress)
進度組件類似于對話框組件,進度條同樣是常用的UI元素,面臨類似。因此,項目同樣對它進行了封裝,它可以在真實世界中良好的定位,而且可以選擇進度條和動畫的不同類型,非常的實用。