更新 Windows Mixed Reality 的 2D UWP 應用程式
Windows Mixed Reality 可讓用戶在實體和數位世界中看到全像投影,就好像它們就在他們周圍。 其核心是 HoloLens 和您附加沉浸式頭戴式裝置配件的桌面電腦都是 Windows 10 裝置。 您幾乎可以在市集中以 2D 應用程式的形式執行所有 通用 Windows 平台 (UWP) 應用程式。
建立混合實境的 2D UWP 應用程式
將 2D 應用程式帶入混合實境頭戴式裝置的第一個步驟是讓您的應用程式在桌面監視器上以標準 2D 應用程式的形式執行。
建置新的 2D UWP 應用程式
若要建置適用於混合實境的新 2D 應用程式,您可以建置標準 2D 通用 Windows 平台 (UWP) 應用程式。 該應用程式不需要進行其他應用程式變更,然後以混合實境中的板狀方式執行。
若要開始建置 2D UWP 應用程式,請參閱 建立您的第一個應用程式 文章。
將現有的 2D 市集應用程式帶入 UWP
如果您已在市集中擁有 2D Windows 應用程式,請確定其是以 Windows 10 通用 Windows 平台 (UWP) 為目標。 以下是您目前在市集應用程式上可能擁有的所有可能起點:
起點 | AppX 指令清單平台目標 | 如何使這個通用? |
---|---|---|
Windows Phone (Silverlight) | Silverlight 應用程式指令清單 | 遷移至 WinRT |
Windows Phone 8.1 通用 | 8.1 不包含平台目標的AppX指令清單 | 將您的應用程式移轉至 通用 Windows 平台 |
Windows 市集 8 | 8 不包含平台目標的 AppX 指令清單 | 將您的應用程式移轉至 通用 Windows 平台 |
Windows 市集 8.1 通用 | 8.1 不包含平台目標的AppX指令清單 | 將您的應用程式移轉至 通用 Windows 平台 |
如果您目前在PC上建置為Win32 應用程式的2D Unity應用程式,請切換至混合實境的 通用 Windows 平台建置目標。
我們將討論如何使用下方的 Windows.Holographic 裝置系列,特別限制 App 到 HoloLens 的方式。
在 Windows Mixed Reality 沉浸式頭戴式裝置中執行您的 2D 應用程式
如果您已將 2D 應用程式部署至桌面電腦,並在監視器上試用,即可在沉浸式桌面頭戴式裝置上試用!
只要移至混合實境頭戴式裝置內的 [開始] 功能表,然後從該處啟動應用程式即可。 桌面殼層和全像攝影殼層都共用相同的 UWP 應用程式集,因此一旦您從 Visual Studio 部署之後,應用程式應該已經存在。
以沉浸式頭戴式裝置和 HoloLens 為目標
恭喜! 您的應用程式現在使用 Windows 10 通用 Windows 平台 (UWP)。
您的應用程式現在能夠在現今的 Windows 裝置上執行,例如桌面、行動裝置、Xbox、Windows Mixed Reality 沉浸式頭戴裝置、HoloLens 和未來的 Windows 裝置。 不過,若要實際以所有這些裝置為目標,您必須確定您的應用程式是以 Windows 為目標。 通用裝置系列。
將裝置系列變更為 Windows.Universal
現在讓我們跳到 AppX 指令清單,以確保您的 Windows 10 UWP app 可以在 HoloLens 上執行:
- 使用 Visual Studio 開啟應用程式的解決方案檔,並瀏覽至應用程式套件指令清單
- 以滑鼠右鍵按兩下 解決方案中的 Package.appxmanifest 檔案,然後移至 [ 檢視程式代碼]
- 確定您的目標平臺為 Windows。 相依性區段中的通用
<Dependencies> <TargetDeviceFamily Name="Windows.Universal" MinVersion="10.0.10240.0" MaxVersionTested="10.0.10586.0" /> </Dependencies>
- 救!
如果您未將 Visual Studio 用於開發環境,您可以在您選擇的文字編輯器中開啟 AppXManifest.xml ,以確保您是以 Windows.Universal TargetDeviceFamily 為目標。
在 HoloLens 模擬器中執行
既然您的 UWP 應用程式是以 「Windows.Universal」 為目標,讓我們建置您的應用程式,並在 HoloLens 模擬器中執行它。
請確定您 已安裝 HoloLens 模擬器。
在 Visual Studio 中 ,選取應用程式的 x86 組建組態
在 [部署目標] 下拉式功能表中,選取 [HoloLens 模擬器]
>選取 [偵錯開始偵錯] 以部署您的應用程式並開始偵錯。
模擬器將會啟動並執行您的應用程式。
使用鍵盤、滑鼠和 Xbox 控制器,將您的應用程式放在世界上以啟動它。
下一步
此時,可能會發生下列兩件事之一:
- 您的應用程式會顯示其啟動顯示並開始在模擬器中放置之後執行! 太棒了!
- 或者,當您看到 2D 全像投影的載入動畫之後,載入將會停止,而您只會在其啟動顯示畫面看到您的應用程式。 這表示發生問題,而且需要更多調查,以瞭解如何在混合實境中讓您的App上生活。
您必須進行偵錯,才能取得停止UWP應用程式在HoloLens上啟動的可能問題根目錄。
在調試程式中執行UWP應用程式
這些步驟將逐步引導您使用 Visual Studio 調試程式對 UWP 應用程式進行偵錯。
- 如果您尚未這麼做,請在 Visual Studio 中開啟您的方案。 將目標變更為 HoloLens 模擬器 ,並將組建組態變更為 x86。
- >選取 [偵錯開始偵錯] 以部署您的應用程式並開始偵錯。
- 使用滑鼠、鍵盤或 Xbox 控制器將應用程式放在世界上。
- Visual Studio 現在應該會在您的應用程式程式代碼中中斷某個位置。
- 如果您的應用程式不會因為未處理的錯誤而立即當機或中斷調試程式,請完成應用程式的核心功能測試階段,以確保所有專案都正在執行且正常運作。 您可能會看到類似下圖的錯誤(正在處理的內部例外狀況)。 為了確保您不會錯過影響應用程式體驗的內部錯誤,請執行自動化測試和單元測試,以確保一切如預期般運作。
更新UI
既然您的 UWP 應用程式正在沉浸式頭戴式裝置和 HoloLens 上執行為 2D 全像投影,接下來我們將確定它看起來很漂亮。 以下是一些要考量的事項:
- Windows Mixed Reality 會以固定解析度執行所有 2D 應用程式,且 DPI 相當於 853x480 有效圖元。 請考慮您的設計是否需要在此規模上精簡,並檢閱下列設計指引,以改善 HoloLens 和沉浸式頭戴式裝置的體驗。
- Windows Mixed Reality 不支援 2D 動態磚。 如果您的核心功能顯示動態磚上的資訊,請考慮將該資訊移回您的應用程式,或探索 3D 應用程式啟動器。
2D 應用程式檢視解析度和縮放比例
Windows 10 會將所有視覺設計從實際螢幕圖元移至 有效圖元。 這表示,開發人員會遵循 Windows 10 人類介面指導方針來設計其 UI,以取得有效圖元的有效圖元,並確保這些有效圖元在裝置、解析度、DPI 等間的可用性是正確的大小。 如需詳細資訊,請參閱 MSDN 和此 BUILD 簡報的這項絕佳閱讀。
即使有獨特的能力將應用程式放在世界上的距離,也建議使用類似電視的觀看距離來產生最佳的可讀性和與注視/手勢的互動。 因此,混合實境首頁中的虛擬板將會在下列處顯示您的一般 UWP 檢視:
1280x720、150%DPI (853x480 有效圖元)
此解決方案有數個優點:
- 這個有效的圖元版面配置會有與平板電腦或小型桌面相同的資訊密度。
- 它符合 Xbox One 上執行之 UWP 應用程式的固定 DPI 和有效圖元,讓裝置體驗順暢。
- 當針對全球應用程式的作業距離調整範圍時,此大小看起來會不錯。
2D 應用程式檢視介面設計最佳做法
建議:
- 遵循 Windows 10 Human Interface Guidelines (HIG), 以取得樣式、字型大小。 HoloLens 會執行工作,以確保您的應用程式會有相容的應用程式模式、可讀取的文字大小,以及適當的命中目標重設大小。
- 請確定您的UI遵循回應式設計的最佳做法,以最佳方式查看HoloLens的獨特解析度和 DPI。
- 使用 Windows 中的「淺色」色彩主題建議。
請勿這麼做:
- 在混合實境中,變更UI太嚴重,以確保使用者在頭戴式裝置中具有熟悉的體驗。
瞭解應用程式模型
混合實境的應用程式模型是設計成使用混合實境首頁,其中有許多應用程式一起存在。 將此視為相當於桌面的混合實境,您可以在其中一次執行許多 2D 應用程式。 這會影響應用程式生命週期、磚和其他應用程式的主要功能。
應用程式行和上一頁按鈕
2D 檢視會以其內容上方的應用程式行裝飾。 應用程式行有兩個應用程式特定個人化點:
標題:顯示與應用程式實例相關聯的磚顯示名稱
上一頁按鈕: 按下時引發 BackRequested 事件。 [上一頁] 按鈕可見度是由 SystemNavigationManager.AppViewBackButtonVisibility 所控制。
2D 應用程式檢視中的應用程式行 UI
測試 2D 應用程式的設計
請務必測試您的應用程式,以確定文字是可讀取的,按鈕是可設定目標的,而整體應用程式看起來正確。 您可以在 桌面頭戴式裝置、HoloLens、模擬器或觸控裝置上進行測試 ,解析度設定為 1280x720 @150%。
新的輸入可能性
HoloLens 使用進階深度感測器來查看世界並查看使用者。 這可啟用進階手勢,例如 開花 和 空中點選。 功能強大的麥克風也可啟用 語音體驗。
透過桌面頭戴式裝置,用戶可以使用運動控制器指向應用程式並採取動作。 他們也可以使用遊戲板,以對象的注視為目標。
Windows 會負責 UWP app 的所有複雜度,將 注視、手勢、語音和動作控制器輸入轉譯為 指標事件 ,以抽象化輸入機制。 例如,使用者可能已經用手進行空中點選,或提取動作控制器上的Select觸發程式,但 2D 應用程式不需要知道輸入的來源 - 他們只會看到 2D 觸控媒體,就像在觸摸屏上一樣。
以下是將 UWP 應用程式帶入 HoloLens 時,您應該瞭解的高層級概念/案例:
- 注視 會變成暫留事件,這可以意外觸發功能表、飛出視窗或其他使用者介面元素,只要凝視您的應用程式即可快顯。
- 註視不如滑鼠輸入那麼精確。 針對 HoloLens 使用適當大小的命中目標,類似於觸控式行動應用程式。 應用程式邊緣附近的小型元素特別難以互動。
- 用戶必須切換輸入模式,以從捲動到拖曳到兩指移動流覽。 如果您的 app 是針對觸控輸入所設計,請考慮確保兩個手指移動瀏覽後沒有鎖定任何主要功能。 若是如此,請考慮有替代的輸入機制,例如可以啟動兩指移動流覽的按鈕。 例如,地圖應用程式可以使用兩個手指移動瀏覽來縮放,但有加號、減號和旋轉按鈕,以模擬與單鍵相同的縮放互動。
語音輸入 是混合實境體驗的重要部分。 我們已在使用頭戴式裝置時,啟用 Windows 10 中支援 Cortana 的所有語音 API。
發佈和維護您的通用應用程式
一旦您的應用程式啟動並執行,請將您的應用程式封裝到 Microsoft Store。