更新 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 Universal 8.1 不包含平台目標的AppX指令清單 將您的應用程式移轉至 通用 Windows 平台
Windows 市集 8 8 不包含平台目標的 AppX 指令清單 將您的應用程式移轉至 通用 Windows 平台
Windows 市集 8.1 通用 8.1 不包含平台目標的AppX指令清單 將您的應用程式移轉至 通用 Windows 平台

如果您目前已在PC上建置為Win32應用程式的2D Unity應用程式,Mac & Linux 獨立建置目標,請切換至混合實境的 通用 Windows 平台 組建目標。

我們將討論如何使用 下方的 Windows.Holographic 裝置系列,將您的應用程式特別限制為 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 檔案,然後移至 [檢視程式代碼]
    package.appxmanifest in 方案總管
  • 確定您的目標平臺是 Windows。 相依性區段中的通用
    <Dependencies>
      <TargetDeviceFamily Name="Windows.Universal" MinVersion="10.0.10240.0" MaxVersionTested="10.0.10586.0" />
    </Dependencies>
    
  • 救!

如果您未將 Visual Studio 用於開發環境,您可以在您選擇的文字編輯器中開啟 AppXManifest.xml ,以確保您是以 Windows.UniversalTargetDeviceFamily 為目標

在 HoloLens 模擬器中執行

既然您的 UWP 應用程式是以 「Windows.Universal」 為目標,讓我們建置您的應用程式,並在 HoloLens 模擬器中執行它。

  • 請確定您 已安裝 HoloLens 模擬器

  • 在 Visual Studio 中,選取應用程式的 x86 組建組態

    Visual Studio 中的 x86 組建組態

  • 在 [部署目標] 下拉式功能表中,選取 [HoloLens 模擬器]

    部署目標清單中的 HoloLens 模擬器

  • 選取 [偵錯開始偵錯] 以部署您的應用程式並開始偵錯。>

  • 模擬器將會啟動並執行您的應用程式。

  • 使用鍵盤、滑鼠和 Xbox 控制器,將您的應用程式放在世界中以啟動它。

    使用 UWP 範例載入的 HoloLens 模擬器

下一步

此時,可能會發生兩件事之一:

  1. 您的應用程式會顯示其啟動顯示,並在它放置在模擬器之後開始執行! 好極了!
  2. 或者,當您看到 2D 全像投影的載入動畫之後,載入將會停止,而您只會在其啟動顯示畫面看到您的應用程式。 這表示發生錯誤,而且會進行更多調查,以瞭解如何將您的應用程式帶入 Mixed Reality 中。

您必須進行偵錯,以取得停止 UWP app 在 HoloLens 上啟動的可能問題根目錄。

在調試程式中執行UWP應用程式

這些步驟將逐步引導您使用 Visual Studio 調試程式對 UWP 應用程式進行偵錯。

  • 如果您尚未這麼做,請在 Visual Studio 中開啟您的方案。 將目標變更為 HoloLens 模擬器 ,並將組建組態變更為 x86
  • 選取 [偵錯開始偵錯] 以部署您的應用程式並開始偵錯。>
  • 使用滑鼠、鍵盤或 Xbox 控制器將應用程式放在世界中。
  • Visual Studio 現在應該會中斷應用程式程式代碼中的某處。
    • 如果您的應用程式不會因為未處理的錯誤而立即當機或中斷調試程式,請完成應用程式的核心功能的測試階段,以確保一切正常運作。 您可能會看到類似下圖的錯誤, (正在處理的內部例外狀況) 。 若要確保您不會錯過影響應用程式體驗的內部錯誤,請執行自動化測試和單元測試,以確保一切如預期般運作。

HoloLens 模擬器已載入 UWP 範例,其中顯示系統例外狀況

更新UI

現在,您的UWP app正在沉浸式頭戴式裝置和HoloLens上執行為2D全像投影,接下來我們將確定它看起來很美觀。 以下是要考量的一些事項:

  • Windows Mixed Reality 會以固定解析度執行所有 2D 應用程式,且 DPI 相當於 853x480 有效圖元。 請考慮您的設計是否需要在此規模上進行精簡,並檢閱下列設計指引,以改善 HoloLens 和沉浸式頭戴式裝置的體驗。
  • Windows Mixed Reality 不支援 2D 動態磚。 如果您的核心功能顯示動態磚上的資訊,請考慮將該資訊移回您的應用程式,或探索 3D 應用程式啟動器

2D 應用程式檢視解析度和縮放比例

從回應式設計

Windows 10 將所有視覺設計從實際螢幕圖元移至有效圖元。 這表示,開發人員會遵循 Windows 10 人類介面指導方針來設計其UI,以取得有效圖元,而Windows縮放可確保這些有效圖元的大小適用於裝置、解析度、DPI 等可用性。 如需詳細資訊,請參閱 MSDN 和此 BUILD 簡報 的這個絕佳閱讀。

即使將應用程式放在您世界中的各種距離,也建議使用類似電視的檢視距離來產生最佳的可讀性和與注視/手勢的互動。 因此,Mixed Reality 首頁中的虛擬平板會在下列位置顯示您的一般 UWP 檢視:

1280x720,150%DPI (853x480 有效圖元)

此解決方案有數個優點:

  • 這個有效的圖元配置會有與平板電腦或小型桌面相同的資訊密度。
  • 它符合 Xbox One 上執行的 UWP app 固定 DPI 和有效圖元,可跨裝置順暢地體驗。
  • 當調整全球應用程式的作業距離範圍時,此大小看起來會很適合。

2D 應用程式檢視介面設計最佳做法

建議:

  • 遵循 Windows 10 人介面指導方針 (HIG) 樣式、字型大小和按鈕大小。 HoloLens 會執行此工作,以確保您的應用程式會有相容的應用程式模式、可讀取的文字大小,以及適當的點擊目標重設大小。
  • 請確定您的UI遵循 回應式設計的 最佳做法,以最佳方式查看HoloLens的獨特解析度和 DPI。
  • 使用 Windows 中的「淺色」色彩主題建議。

請勿這麼做:

  • 在混合實境中變更您的UI太大,以確保使用者有熟悉的頭戴式裝置體驗。

瞭解應用程式模型

混合實境的應用程式模型是設計成使用 Mixed Reality 家用版,其中有許多應用程式一起運作。 請將這視為與桌面相同的混合實境,您可以在其中一次執行許多 2D 應用程式。 這會影響應用程式生命週期、磚和其他應用程式的重要功能。

應用程式行和返回按鈕

2D 檢視會使用其內容上方的應用程式行裝飾。 應用程式行有兩個應用程式特定的個人化點:

標題:顯示與應用程式實例相關聯之磚的顯示名稱

上一頁按鈕: 按下時引發 BackRequested 事件。 上一頁按鈕可見度是由 SystemNavigationManager.AppViewBackButtonVisibility 所控制。

2D 應用程式檢視中的應用程式行 UI
2D 應用程式檢視中的應用程式行 UI

測試 2D 應用程式的設計

請務必測試您的應用程式,以確定文字是可讀取的、按鈕是可鎖定的,而且整體應用程式看起來正確。 您可以在桌面頭戴式裝置、HoloLens、模擬器或觸控裝置上 進行測試 ,解析度設定為 1280x720 @150%。

新的輸入可能性

HoloLens 使用進階深度感測器來查看世界並查看使用者。 這可啟用進階手勢,例如 開花空中點選。 功能強大的麥克風也可啟用 語音體驗

透過桌面頭戴式裝置,用戶可以使用動作控制器指向應用程式並採取動作。 他們也可以使用遊戲板,以對象的注視為目標。

Windows 會處理 UWP app 的所有這項複雜度,將 注視、手勢、語音和動作控制器輸入轉譯為 指標事件 ,以抽象化輸入機制。 例如,使用者可能已經使用手部進行空中點選,或提取動作控制器上的 Select 觸發程式,但 2D 應用程式不需要知道輸入的來源 - 他們只會看到 2D 觸控按下,就像在觸摸屏上一樣。

以下是將 UWP 應用程式帶入 HoloLens 時,您應該瞭解的輸入概念/案例:

  • 注視 會變成暫留事件,這可能會意外地觸發功能表、飛出視窗或其他使用者介面元素,以在應用程式周圍顯示。
  • 註視與滑鼠輸入不一樣精確。 針對 HoloLens 使用適當大小的點擊目標,類似於觸控式行動應用程式。 靠近應用程式邊緣的小型元素特別難以互動。
  • 用戶必須切換輸入模式,才能從捲動到拖曳到兩指移動流覽。 如果您的應用程式是針對觸控輸入而設計,請考慮確保兩指移動流覽後沒有鎖定任何主要功能。 如果是,請考慮使用替代輸入機制,例如可以啟動兩指移動流覽的按鈕。 例如,地圖應用程式可以使用兩指移動瀏覽來縮放,但有加號、減號和旋轉按鈕,以模擬與單鍵相同的縮放互動。

語音輸入 是混合實境體驗的重要部分。 我們已在使用頭戴式裝置時啟用所有 Windows 10 支援 Cortana 的語音 API。

發佈和維護通用應用程式

一旦應用程式啟動並執行,請封裝您的應用程式以 將其提交至 Microsoft Store

另請參閱