HoloLens 2 的 Galaxy Explorer 製作
歡迎使用更新的 Galaxy Explorer for HoloLens 2 應用程式! 原本是 HoloLens (第一代的開放原始碼應用程式,) 透過共用您的構想計劃開發,而且是許多人擁有的第一個混合實境體驗之一。 現在,我們會更新它,以取得 HoloLens 2 的全新且令人興奮的功能。
身為 Microsoft Mixed Reality Studio 的其中一個,我們通常會開發商業等級解決方案,並在目標平臺上開發 & 測試整個創意和開發程式。 我們會使用 MRTK 等架構和工具, (如 MRTK) 等架構和工具進入此專案,因為我們想要帶您前往車程。
如同原始的 Galaxy Explorer, 我們的小組 將會在 GitHub 上開放原始碼專案 ,以確保社群具有完整的存取權。 我們也將在此記錄我們的旅程,以完整透明度說明如何從 MRTK v1 移植到 MRTK v2、增強 HoloLens 2 中可用的新功能體驗,並確保 Galaxy Explorer 維持多平台體驗。 無論您是在 HoloLens 上檢視 Galaxy Explorer, (第一代) 、HoloLens 2、Windows Mixed Reality 頭戴式裝置或您 Windows 10 桌面上,我們想要確定您最喜歡旅程!
隨著我們逐步完成專案,此頁面將會展開,其中包含更詳細文章、程式代碼、設計成品和其他 MRTK 檔的連結,讓您了解專案。
在 HoloLens 2 中從 Microsoft Store 下載應用程式
如果您有 HoloLens 2 裝置,您可以直接下載並安裝裝置中的應用程式。
思考互動
身為創意工作室,我們對於將 Galaxy Explorer 移植到 HoloLens 2 的許可權很興奮。 我們從一開始就知道,我們希望體驗成為新裝置的慶祝,並示範 Mixed Reality 能力只受限於想像。
HoloLens 2 可讓使用者以感覺自然的方式觸控、掌握和移動全像投影, 它們回應非常像真實物件。 完全清楚的手部模型令人讚歎,因為它可讓用戶執行自然的動作。 例如,每個人都會以稍微不同的方式挑選杯子,而不是強制執行一種特定的方式來執行,HoloLens 2 可讓您以自己的方式執行。
這是第一代 HoloLens 裝置上 Air Tap 型介面的重大變更。 用戶現在可以「接近和個人」,而不是與全像投影互動。 將現有體驗移植到 HoloLens 2 或規劃新體驗時,請務必熟悉全像投影的直接操作。
直接操作與空間中的遠距離
這是一種令人驚奇的體驗,可以觸達、抓取行星,並將它放在您的手上。 這種方法的挑戰是太陽能系統的大小, 它很大! 用戶必須逐步解說其房間,才能接近每個行星來與其互動。
為了允許使用者與距離更遠的物件互動,MRTK 提供手部光線,從使用者的手部中央跳出,做為手部的延伸。 環圈形游標會附加至光線的結尾,以指出光線與目標物件交集的位置。 然後,游標所在的物件就能從手部接收手勢命令。
在原始版本的 Galaxy Explorer 中,使用者會以具有註視游標的行星為目標,然後點選空中點選以更接近它。 將體驗移植到 HoloLens 2 最簡單的方式是採用此行為,並使用手部光線來選取行星。 雖然此功能正常運作,但讓我們想要更多功能。
從頭再來
我們結合在一起,以瞭解現有互動之上可以建置的專案。 思考方式是:雖然 HoloLens 2 可讓使用者以自然、實際的方式與全像投影互動,但全像投影的定義並非真實。 只要用戶能夠進行互動,就不需與實際對象進行互動,我們就能達成。
我們探索的其中一個概念是以電報為基礎,也就是使用一個心意操作物件的能力。 在超級主圖電影中經常看到,一個人會觸達心意,並將物件呼叫到其開放手上。 我們多看一下概念,並快速草圖說明概念的運作方式。
使用者會將手部光線指向行星,以提供目標意見反應。 當使用者接著擴充其開放手時,行星會以神奇的強制將行星拉到使用者,直到它夠接近才能抓取它為止。 因此,我們的互動名稱:強制抓取。 當使用者使用開啟的手將行星推開時,它會再次返回其軌道。
強制抓取原型設計
然後,我們建立了多個原型來測試概念:互動整體如何運作? 呼叫的對象應該停在使用者前面,或貼到手上,直到放置為止? 呼叫時,所呼叫的對象應該變更大小或小數字數嗎?
實作強制抓取應用程式
當我們嘗試在行星上強制抓取時,我們發現我們必須變更太陽能系統的縮放比例。 結果顯示,精確、中型的太陽能表示法很難讓使用者了解和流覽 - 他們不知道要在哪裡查看。 不過,小型表示法讓某些行星太小而無法輕易選取。 因此,行星的大小和太陽能對象之間的間距是設計成在中型空間內感覺舒適,同時維持相對精確度。
在開發短期衝刺的後續階段中,我們很幸好讓同一位 MSFT Mixed Reality 專家在內部工作,因此我們必須以專家測試人員身分取得其輸入,並在強制抓取互動上執行快速反覆專案。
圖片:Jenny Kam,資深設計負責人,測試 Galaxy Explorer 的工作進行中。
新增目標能供性
當我們在 HoloLens 2 進行實驗時,發現即使新的互動是自然且直覺的,全像投影仍維持不變:沒有重量或觸覺的觸覺。 由於全像投影不會提供人類在與對象互動時用來接收的自然意見反應,因此我們需要建立它們。
我們思考了使用者針對其互動的各個階段所提供的視覺和音頻意見反應,而且因為強制抓取機制是與 Galaxy Explorer 互動的核心,所以我們做了許多反覆專案。 目標是尋找互動每個階段的音訊和視覺回饋的正確平衡:著重於預定的物件、呼叫使用者,然後釋放它。 我們學到的是,需要更多音訊和視覺意見反應,才能強化我們用於 HoloLens (第一代) 的互動。
新增強制抓取的能供性
一旦有了具有音訊和視覺能供性的基本強制抓取機制,我們探討如何讓選取行星更方便使用者使用。 有兩個主要事項可解決:因為太陽能系統是 3D 移動介面,所以使用者會增加複雜度,以瞭解如何以一致的方式鎖定物件。 這由手部光線快速選取對象的事實所組成,讓行星快速移至使用者。
我們已使用三角解決方案來解決此問題。 第一個是相當直覺的:讓選取程式變慢,讓行星以更自然的步調來接近使用者。 調整速度之後,我們必須重新流覽音訊和視覺能供性,並在追蹤使用者的行星時新增音訊意見反應。
解決方案的第二個部分是讓整個強制抓取互動有形的視覺效果。 我們可視化了一條粗線,一旦手部光線與其連接,就會向目標物件移動,然後將物件帶回使用者,就像套索一樣。
最後,我們已優化太陽能系統的規模,讓行星夠大,用戶注視和手部光線才能將其設為目標。
這三項改進可讓使用者做出精確的選擇,以直覺的方式呼叫行星。 整體來說,最終強制抓取的效果是太陽能系統中更沉浸式且互動式的體驗。
Jupiter 上的焦點
建立 Milky Way 的太陽能體是一種很輕鬆的體驗。 特別是,Jupiter 的獨特特性會讓它成為看得見。 它是最大且最彩色的氣質巨人,且包含比所有其他行星結合更多的品質。 其大小和美化風氣帶和雲端動態是特別注意的先決條件。
幾何和網格
身為油氣巨人,Jupiter 的外部殼層是由氣層所組成。 其快速旋轉速度、內部熱交換和 Coriolis 強制的組合會建立彩色層次和串流,形成旋轉的雲端帶和喜好。 擷取這個複雜之處是建立太陽能系統的關鍵。
很明顯地,使用流暢模擬等可視化技術,以及具有預先計算數據流的動畫紋理,就沒有問題。 模擬此作業所需的運算能力與同時發生的一切作業,會對效能造成重大負面影響。
下一種方法是「噴氣和鏡像」解決方案,其中包含重疊透明紋理圖層,每個圖層都解決了旋轉網格組合上所編譯的空氣移動特定層面。
在下圖中,您可以看到左側的內部殼層。 這個 mat 層提供組合的背景,以防止組成雲端的多層之間的任何小型間距。 由於圖層的旋轉速度緩慢,因此它也會在更快速移動的帶狀帶之間做為視覺緩衝區,以協助在整個圖層中建置視覺 Unity。
將此錨點設定為模型之後,移動的雲端層接著會投影在中間和右網格上,如下所示。
紋理
現有的紋理已分成三部分紋理 atlas:前三個會裝載無動作的雲端層,並提供視差效果、中間區段包含快速移動的外部數據流,而下半部則包含緩慢旋轉的內部基底層。
「大紅點」特性也會分成其各種移動部分,然後插入紋理的不可見區域。 這些元件可視為下圖中間區段中的紅色規格。
因為每個帶都有特定的方向和速度,所以紋理會個別套用至每個網格。 網格接著有一個通用的中央和樞紐點,因此可以讓整個表面以同心動畫顯示。
旋轉和紋理行為
設定 Jupiter 的視覺組合之後,我們需要確保旋轉和軌道速度已正確計算並據以套用。 Jupiter 需要大約9小時才能完成完整輪替。 這是因為差異旋轉而定義的事項。 因此,等號串流已設定為「主要數據流」,並擷取 3600 個畫面格以進行完整旋轉。 所有其他圖層都需要旋轉速度為 3600,以符合其初始位置,例如 600、900、1200、1800 等。
絕佳紅點
個別旋轉的數據流提供了良好的視覺印象,但在接近範圍觀察到時,卻缺少詳細數據。
最吸引人的部分是 Jupiter 的絕佳 Red Spot,因此我們建立了一組特別用來展示它的網格和紋理。 我們使用與 Jupiter 的帶狀結構類似的機制:一組旋轉元件是由彼此組成,同時在其「主要層」下分組,以確保無論其餘移動的速度為何,它們都會保持在位置。
當網格已設定並就地時,會套用不同的 stormy vortex 層,然後個別以動畫顯示每個光碟,中心片段會以最快速度移動,其餘部分會隨著往外移動而逐漸變慢。
組合也具有與所有其他網格相同的樞紐,同時讓其從原始的 Y 軸 (!) 保持傾斜,以允許自由以動畫顯示旋轉。 3600 個畫面格是基底速率,每個圖層都會有一個因素作為旋轉期間。
在 Unity 中正確取得
在 Unity 中實作此專案時,有幾個要記住的重要事項。
處理大型透明層集時,Unity 很容易混淆。 解決方案是複製每個網格的紋理材質,並將遞增的轉譯佇列值從內部套用到外部,以 5 到每個材質。
結果是內部殼層的轉譯佇列值為 3000 (預設) ,靜態紅色轉譯外部之後有 3005 的值,快速白色外部雲端有 3010。 大紅點 (從內部到外部層) ,在此模型中完成值為 3025。
最後的修飾
紋理 Jupiter 層一開始已設定,這證明不足以實作。
原始的 Planet Standard 著色器及其所有變化都會透過腳本 SunLightReceiver 接收其光源資訊,MRTK 標準著色器不支援。
只是交換著色器不是解決方案,因為行星標準著色器不支援具有透明度的紋理貼圖。 我們已編輯此著色器,讓 Jupiter 組建如預期般運作。
最後,將Source Blend設定為10並將 Destination Blend 設定為5,以設定Alpha Blend。
您可以在 Galaxy Explorer 中看到 Jupiter 的最終轉譯!
認識小組
我們的 Mixed Reality 工作室小組是由設計師、3D 藝術師、UX 專家、開發人員、項目經理和工作室主管所組成。 我們在世界各地都受到歡迎:比利時、加拿大、德國、以色列、日本、英國和 美國。 我們是來自不同背景的一員:遊戲 - 傳統和獨立、數位營銷、醫療保健和科學。
我們很高興建立適用於 HoloLens 2 的 Galaxy Explorer,並更新 HoloLens (第一代) 、VR 和桌面版本。
從左至右:Artemis Tsouflidou (Developer) Angie Teickner (Visual Designer) 、David Janer (UX Designer) 、Laura Garrett (Delivery & Production Lead) 、Yas (Creative Lead) 、Eline Ledent (Developer) ,以及 Ben Turner (Sr. Developer) 。 從左至右:Amit Rojtblat (Technical Artist) 、Martin Wettig (3D Artist) ,以及 Dirk Songuer (Studio Head) 。 未精選:Tim Gerken (Tech Lead) 和 Oscar Salandin (Visual Designer) 。
其他資訊
Mixed Reality Studios
Microsoft Mixed Reality Studio 小組位於北美洲、歐洲和 Asia-Pacific , 是使用者體驗設計、全像運算、AR/VR 技術和 3D 開發專家,包括 3D 資產建立、DirectX、Unity 和 Unreal。 我們協助構想所需的未來、設計、建置和提供解決方案,同時讓客戶能夠在整個組織中建立可測量的影響。 工作室會與超過 22,000 名 Microsoft Services 專業人員密切合作,以進行企業應用程式整合、採用、作業和支援。