微軟詳細(xì)分享MRTK3 公共預(yù)覽版
查看引用/信息源請點擊:映維網(wǎng)Nweon
GA通用版本計劃于2022年秋季或冬季與大家見面
(映維網(wǎng)Nweon?2022年07月01日)微軟最初在6月初的混合現(xiàn)實開發(fā)者大會發(fā)布了MRTK3 公共預(yù)覽版,并表示會以每兩周-四周的頻率進(jìn)行更新,而GA通用版本則計劃于2022年秋季或冬季與大家見面。
微軟的開源項目Mixed Reality Toolkit(MRTK)旨在幫助開發(fā)者輕松利用Unity開發(fā)跨平臺MR應(yīng)用,它同時允許開發(fā)者通過編輯器模擬輕松進(jìn)行原型設(shè)計,并立即查看相應(yīng)的改動。
這個MRTK提供了豐富的組件,用于手和眼追蹤、輸入、解算器、診斷工具、場景管理等的組件可以幫助你用更少的時間來搭載更出色的體驗。通過MRTK構(gòu)建的體驗可以兼容任何支持OpenXR運行時的設(shè)備,例如HoloLens和Meta?Quest。
對于全新的MRKT3,開發(fā)者屆時可以選擇更輕量級的解決方案。它允許你僅選擇所需工具包的組件,而且提供了一個新的交互系統(tǒng)、新的主題和數(shù)據(jù)綁定功能、Unity畫布支持,以及更新的設(shè)計語言。另外,本機OpenXR支持更容易定位多個設(shè)備,如HoloLens、Meta Quest、Windows Mixed Reality和未來支持OpenXR的設(shè)備。

1. 模塊化打包
微軟已經(jīng)將MRTK分為一系列的模塊化軟件包。你可以根據(jù)實際獨立安裝和更新軟件包,從而大大減少利用相關(guān)功能所需的MRTK代碼量。

MRTK3完全支持OpenXR和Unity的XRI工具包。MRTK3的目標(biāo)之一是,將團(tuán)隊從MRTK2中學(xué)到的一切,與在OpenXR和Unity的行業(yè)合作伙伴的知識和進(jìn)步相結(jié)合,從而允許MRTK能夠更加專注于提供與眾不同的產(chǎn)品和全面改進(jìn)的用戶(和開發(fā)人員)體驗。
2. OpenXR
OpenXR是Khronos提供的一種開放免版稅API標(biāo)準(zhǔn),在混合現(xiàn)實范圍內(nèi)為引擎提供了對一系列設(shè)備的原生訪問。Unity提供了一個OpenXR插件,為渲染、頭部追蹤和控制器輸入等功能提供了核心規(guī)范的集成。微軟提供的Mixed Reality OpenXR Plugin基于Unity插件,并增加了對HoloLens 2等設(shè)備的相關(guān)附加功能支持。微軟特定的新增功能包括空間映射和平面、空間錨點和可定位camera等。它同時通過跨供應(yīng)商的OpenXR擴展增加了對手關(guān)節(jié)追蹤的支持。
3. XR交互工具包
MRTK3將Unity XR Interaction Toolkit(XRI)作為輸入抽象、交互和操作的基礎(chǔ)。大多數(shù)MRTK3只是XRI提供的交互原語之上的一層。所以,MRTK3不再是一個定制的交互和輸入系統(tǒng),而僅僅是XRI框架和社區(qū)中的“守法公民”。事實上,Unity的XRI是在MRTK團(tuán)隊的投入下構(gòu)建,微軟與XRI團(tuán)隊進(jìn)行了頻繁的同步,不斷提供反饋,幫助解決錯誤,并確保MRTK系統(tǒng)是按照XRI框架的精神構(gòu)建。
這種方法的最大優(yōu)點之一是,MRTK3與其他基于XRI的XR應(yīng)用程序和交互系統(tǒng)高度兼容。例如,現(xiàn)有的未修改XRI項目和應(yīng)用可以利用MRTK3可交互功能,如體三維UI控件、ObjectManipulator和BoundsControl。另一方面,MRTK3項目可以使用現(xiàn)有的XRI可交互對象,甚至XR rig本身都是高度靈活和兼容的,定制rig可以在沒有任何MRTK代碼的情況下進(jìn)行使用。
最重要的是,微軟可以依賴XRI提供的堅實交互系統(tǒng),并專注于MRTK最擅長的方面,如操作全息圖的新方法。令人鼓舞的是,XRI已經(jīng)在整個行業(yè)得到了廣泛的采用,并在XR領(lǐng)域產(chǎn)生了相當(dāng)?shù)呐d奮。團(tuán)隊表示:“我們非常自豪能在這方面與Unity合作,我們同時非常期待看到這次合作將釋放出什么樣的機會,特別是當(dāng)我們將MRTK的開箱即用兼容性擴展到更廣泛的XR應(yīng)用時?!?/p>
4. 體三維UI
MRTK3引入了與Unity的RectTransform+Canvas系統(tǒng)集成的體三維UI。盡管RectTransform和Canvas過去主要用于2D平面UI,但它們完全能夠渲染和布局三維立體UI。MRTK3包括用于3D UI的系統(tǒng)和預(yù)置,加快了設(shè)計迭代,并在設(shè)計體三維用戶界面時提高了保真度和細(xì)節(jié)的標(biāo)準(zhǔn)。
對于MRTK2,構(gòu)建UI非常困難,尤其是在需要任何動態(tài)布局或集合的情況下。基于RectTransform的UI工具可以完全重新創(chuàng)建UI工作流。Unity的布局組可以用于內(nèi)容的動態(tài)和靈活安排,就像用于傳統(tǒng)平面UI一樣。默認(rèn)情況下,設(shè)計師期望從現(xiàn)代設(shè)計工具中獲得的眾多基本功能都包括在內(nèi),如調(diào)整大小、響應(yīng)布局、對齊、錨定、邊距和填充等等。
與手工計算尺寸、有損縮放操作和脆弱的靜態(tài)布局不同,UI的構(gòu)建方式與設(shè)計師使用其他現(xiàn)代表示框架的方式大致相同。布局由水平、垂直和網(wǎng)格狀組構(gòu)建,并且完全可組合和響應(yīng)。面板、窗口和場記板的大小可以從動態(tài)數(shù)量的子元素中膨脹,并且可以在運行時立即響應(yīng)時編輯、重新排序和刪除子元素。
另一個優(yōu)勢是,通過在Canvas/UnityUI系統(tǒng)下統(tǒng)一UX控件,我們可以利用Unity的跨平臺UI輸入系統(tǒng),在默認(rèn)情況下啟用定向?qū)Ш胶蚲amepad輸入。開箱即用,你將在相同的體三維UI控件獲得豐富的gamepad支持,并通過手動追蹤來操作控件。
這同時是無障礙性的一大勝利,因為大多可訪問性輸入和控制器需要傳統(tǒng)的2D gamepad類型輸入模式。在架構(gòu)方面,傳統(tǒng)的2D輸入調(diào)用完全相同的事件,并與高級XR交互完全相同,這意味著與UI交互的每種方法都有一個單一的代碼路徑。
所以,構(gòu)建production-grad UI非常容易,并且更易于維護(hù),可以跨更大的團(tuán)隊和更成熟的設(shè)計進(jìn)行擴展。這對團(tuán)隊而言至關(guān)重要,因為他們需要更成熟、更穩(wěn)健、更可維護(hù)的UI系統(tǒng)。另外,它允許減少預(yù)制變量的數(shù)量和攪動,因為不再需要為UI控件大小或配置的每個排列都提供大量的預(yù)制。這使得更大規(guī)模的團(tuán)隊能夠協(xié)同工作,同時保持設(shè)計語言在大型復(fù)雜布局中的一致性和完善性。

5. 新的混合現(xiàn)實設(shè)計語言

在MRTK3中,微軟基于Mesh應(yīng)用引入的新設(shè)計語言提供了更新的UI構(gòu)建基塊。在過去的幾年中,團(tuán)隊從大量不同的項目和實驗中積累了經(jīng)驗教訓(xùn)。新的混合現(xiàn)實設(shè)計語言是設(shè)計師、研究人員和工程師多次設(shè)計迭代的結(jié)果。
以下是部分變化:
圓角幾何設(shè)計,帶來更親切友好的體驗
更新的視覺系統(tǒng)(網(wǎng)格和模塊),以支持各種類型的混合現(xiàn)實UI場景
改進(jìn)了多模式輸入的視覺反饋
模塊化背板系統(tǒng),用于構(gòu)建清晰可用的復(fù)雜布局
更新了邊界框視覺效果,以減少視覺噪點并實現(xiàn)流暢的注視點交互


6. 先進(jìn)交互
6.1 注視
MRTK3旨在幫助用戶盡可能輕松地使用注視與對象進(jìn)行交互。為了實現(xiàn)這一點,團(tuán)隊極大地改進(jìn)了注視定位的實現(xiàn),并引入了一種新的一流的交互類型;注視捏合操作。
目標(biāo)瞄準(zhǔn)改進(jìn):
在MRTK2的大部分時間里,注視定位是一個有限的功能。你可以調(diào)整最小和最大注視距離,用戶的眼睛注視捕獲為追蹤用戶眼睛注視的單個光線投射。然而,它很難定位較小的對象,并且需要用戶保持專注、穩(wěn)定的注視以瞄準(zhǔn)目標(biāo)。
在MRTK3中,團(tuán)隊極大地改進(jìn)了這個實現(xiàn)。用戶的眼睛注視現(xiàn)在由幾個球體圖標(biāo)表示,每個球體圖標(biāo)的精確度都在提高。然后,通過指定錐角,可以將覆蓋范圍進(jìn)一步細(xì)化為圓錐體。這允許對與用戶視線不直接對齊的對象進(jìn)行定位,從而大大減少了對較小對象進(jìn)行定位和瞄準(zhǔn)定位所需的工作量。與此相結(jié)合,微軟同時開發(fā)了一種更智能的算法,以對用戶眼睛注視捕捉到的所有潛在目標(biāo)進(jìn)行評分,并使用距離和角度等不同因素來確定用戶最有可能選擇的目標(biāo)。

所有這些參數(shù)都可以在設(shè)計時和運行時由開發(fā)人員進(jìn)行調(diào)整,從而為開發(fā)人員提供了以最適合其需要的方式調(diào)整注視的靈活性。
6.2 注視捏合
眼睛注視不僅僅是被動瞄準(zhǔn)和選擇對象的好方法;這同時是確定用戶意圖和焦點的一種很好的方法。與基于手部追蹤的操縱手勢配合使用時,它的功能尤其強大。微軟開發(fā)了一種令人愉快且功能強大的新方法,用戶可以通過注視定位和更精細(xì)的手勢來操縱對象,從而減少交互過程中的精神和身體疲勞。
注視捏合利用上述新的模糊注視算法。首先確定用戶想要操縱的對象。然后,用戶可以使用手指和手來操縱對象,就像它就在附近一樣,并使用捏、抓和其他熟悉的輸入手勢。

6.3 默認(rèn)情況下為多手交互
在MRTK2中,無論是直接操作全息圖還是使用手射線,用戶都能享受到直觀的多手交互。微軟已經(jīng)進(jìn)行了大量的交互設(shè)計迭代來完善多手交互。
在MR環(huán)境中,用戶希望至少能夠使用雙手,這使得多輸入交互比以往任何時候都更加重要。在MRTK3中,由于與Unity的XRI框架的協(xié)作,默認(rèn)情況下,所有interactable都可以由多個Interactor進(jìn)行交互。使用XRI明確定義的交互狀態(tài)和事件,開發(fā)者可以在考慮多輸入的情況下設(shè)計可交互的內(nèi)容。這意味著一個按鈕現(xiàn)在可以被多個輸入源按下,并且可以在這些輸入源中的任何一個結(jié)束其選擇時保持按下狀態(tài)。
在MRTK3中,團(tuán)隊將多手交互提升到了一個新的層次。用于處理任意數(shù)量的參與交互者的友好API使構(gòu)建更復(fù)雜的多手交互變得容易。在MRTK2中,多手交互主要用于ObjectManipulator和BoundsControl;現(xiàn)在,默認(rèn)情況下,它包含在每個interactable中,用戶可以期望所有對象同時對任意數(shù)量的輸入做出合理的反應(yīng)。按鈕、滑塊甚至繪圖表面都會響應(yīng)任意數(shù)量的交互,而無需開發(fā)人員手動追蹤每個輸入。
6.4 變量選擇性
混合現(xiàn)實基本上是一種高度“模擬”的輸入場景;用戶與全息圖交互的大多數(shù)方式都是可變的、模擬的,甚至有時是由用戶的身體主觀決定的。所以,我們面臨著一組來自用戶的高度“模糊”輸入,以及一組必須響應(yīng)這些可變輸入的可交互對象和行為。受這一挑戰(zhàn)的激勵,MRTK3引入了變量選擇的概念,允許用戶部分選擇對象,并使用多種輸入模式。
在內(nèi)部,interactables有一個selectedness變量,它是所有懸停和選擇Interactor返回的最大selectedness。對于實現(xiàn)IVariableSelectInteractor的Interactor,可以使用擠壓強度、觸發(fā)壓力或開發(fā)人員決定實現(xiàn)的任何內(nèi)容來計算。對于所有其他Interactor,它是0還是1取決于Interactor當(dāng)前是否正在選擇。
這種選擇性的定義是完全可擴展的,無論你決定使用什么interactor,MRTK3 interactable都能夠響應(yīng)它,無需更改其任何底層源代碼。
6.5 交互模式
在MR中,用戶有多種方式與對象交互,不再局限于單一的鼠標(biāo)指針/手指/控制器。為了更好地利用多個“控制器”給人們帶來的優(yōu)勢,MRTK3引入了交互模式的概念。每個交互模式指定一組處于活動狀態(tài)的interactor,每個控制器在任何給定時間都處于單一交互模式。這允許開發(fā)人員靈活地允許每個控制器處于不同的交互模式,或?qū)⑺鼈內(nèi)客降较嗤哪J?。如果用戶需要用一只手操縱附近的對象,而用另一只手瞄準(zhǔn)遠(yuǎn)處,這將非常有用。
根據(jù)在交互模式管理器中定義的順序優(yōu)先啟用。這使得通過模式檢測器分配模式成為一種單調(diào)操作,無論模式變化的順序如何,最終都會將具有最高優(yōu)先級的模式分配給相關(guān)控制器。

7. 數(shù)據(jù)綁定
在MRTK3中,微軟提供了使構(gòu)建動態(tài)UI更容易的工具。他們提供了一個用于獲取、綁定和消費各種動態(tài)數(shù)據(jù)的框架。這包括將文本綁定到UI,動態(tài)更新材質(zhì)和紋理,甚至綁定更復(fù)雜的數(shù)據(jù),如音頻片段。數(shù)據(jù)和更新可以從任何類型的源中提取,包括遠(yuǎn)程web服務(wù)和本地托管的JSON或asset。
以下是使用新數(shù)據(jù)綁定功能填充的按鈕和列表:

8. Theming
Theming可以在運行時更改整個應(yīng)用程序、場景或預(yù)設(shè)的整體外觀。主題的樣式信息可以在本地和遠(yuǎn)程指定,可以通過場景中的配置對象指定,也可以綁定到遠(yuǎn)程主題源,如基于云的品牌存儲庫。Theming同時使得MRTK3能夠支持MRTK2樣式,而不需要包含整個復(fù)制的UX預(yù)制集。

9. 馬上開始吧!
團(tuán)隊表示:“希望你喜歡MRTK3公開預(yù)覽版,并期待你能夠在正式版本亮相前繼續(xù)提供反饋?!备嘈畔⒄堅L問MRTK3 公共預(yù)覽版。
---
原文鏈接:https://news.nweon.com/98574