共用方式為


應用程式檢視

Windows 應用程式可以包含兩種檢視: 沈浸式檢視2D 檢視。 應用程式可以在各種沉浸式和 2D 檢視之間切換,在監視器上以視窗或頭戴式裝置作為平板顯示其 2D 檢視。 至少有一個沉浸式檢視的應用程式會分類為 混合實境應用程式。 絕對不具沈浸式檢視的應用程式則為 2D 應用程式

概觀

沈浸式檢視

沈浸式檢視讓您的應用程式能夠在您周圍的世界中建立全像投影,或讓使用者沉浸於虛擬環境中。 當應用程式在沈浸式檢視中繪製時,沒有其他應用程式同時繪製—來自多個應用程式的全像投影不會結合在一起。 藉由持續調整應用程序呈現場景以符合使用者的頭部移動,您的應用程式可以轉譯世界鎖定的全像投影。 世界鎖定的全像投影會停留在真實世界的固定點,或可以呈現在用戶移動時保留其位置的虛擬世界。

在沉浸式檢視中時,全像投影可以放在您周圍的世界。
在沉浸式檢視中時,全像投影可以放在您周圍的世界

在 HoloLens,您的應用程式會在使用者的實際環境之上呈現其全像投影。 在 Windows Mixed Reality 沉浸式頭戴式裝置上,使用者看不到真實世界,因此您的應用程式必須呈現使用者會看到的所有內容。

Windows Mixed Reality 首頁(包括您放置在環境周圍的 [開始] 功能表 和全像投影)也不會在沉浸式檢視中轉譯。 在 HoloLens 上,Cortana 會在沈浸式檢視顯示時轉譯任何系統通知,讓使用者可以使用語音輸入來回應。

在沉浸式檢視中,您的應用程式也會負責處理所有輸入。 Windows Mixed Reality 中的輸入是由注視、手勢(僅限 HoloLens)、[語音和運動控制器(僅限沉浸式頭戴式裝置)所組成。

2D 檢視

在 Windows Mixed Reality 首頁周圍配置多個 2D 檢視
位於 Windows Mixed Reality 首頁周圍 2D 檢視的多個應用程式

具有 2D 檢視的應用程式會出現在 Windows Mixed Reality 家用 版(有時稱為「殼層」)中,做為虛擬石板,並隨著應用程式啟動器和其他全像投影一起呈現,使用者已放置於其世界。 用戶可以調整此石板來移動和調整它,雖然它仍維持固定解析度,無論其大小為何。 如果您的 app 第一個檢視是 2D 檢視,您的 2D 內容將會填滿用來啟動應用程式的相同板。

在桌面頭戴式裝置中,您可以執行目前在桌面監視器上執行的任何 通用 Windows 平台 (UWP) 應用程式。 這些應用程式目前已轉譯 2D 檢視,且其內容會在啟動時自動出現在使用者世界中的平板上。 2D UWP app 可以將 Windows.Universal 裝置系列作為目標,以桌面頭戴式裝置和 HoloLens 作為平板電腦執行。

2D 檢視的一個主要用法是顯示使用系統鍵盤的文字項目表單。 由於殼層無法在沉浸式檢視之上轉譯,因此應用程式必須切換至 2D 檢視以顯示系統鍵盤。 想要接受文字輸入的應用程式需要切換至具有文本框的 2D 檢視。 當文字框具有焦點時,系統會顯示系統鍵盤,讓使用者輸入文字。

應用程式可以在桌面監視器和桌面電腦上的附加頭戴式裝置上檢視 2D。 例如,您可以使用桌面監視器的主要 2D 檢視來流覽 Edge,以尋找 360 度視訊。 當您播放該影片時,Edge 會在頭戴式裝置內啟動次要沉浸式檢視,以顯示沉浸式視訊內容。

選擇檢視

當您的應用程式啟動時,您可以選擇您想要顯示的檢視類型。 針對應用程式的 CoreApplication,一律會有主要 應用程式檢視,以及您想要建立的任何數目進一步應用程式檢視 。 在桌面上,您可以將應用程式檢視視為視窗。 我們的混合實境應用程式範本會建立 Unity 專案,其中主要應用程式檢視為 沈浸式。

您的應用程式可以使用 XAML 等技術建立額外的 2D 應用程式檢視,以使用 Windows 10 功能,例如應用程式內購買。 如果您的 app 已啟動為其他 Windows 10 裝置的 UWP 應用程式,則主要檢視為 2D。 不過,您可以在混合實境中「點亮」,方法是新增另一個沉浸式應用程式檢視,以大量顯示體驗。 想像一下,在 XAML 中建置相片查看器應用程式,其中投影片按鈕切換至沉浸式應用程式檢視,該檢視會從世界各地和表面飛出相片。

執行中的應用程式可以有 2D 檢視或沈浸式檢視
執行中的應用程式可以有 2D 檢視或沈浸式檢視

建立沈浸式檢視

混合實境應用程式會建立沉浸式檢視,這是使用 HolographicSpace 類型達成的。

純粹沉浸式的應用程式應該一律會在啟動時建立沉浸式檢視,即使從桌面啟動也一樣。 無論從何處建立,沉浸式檢視一律會顯示在頭戴式裝置中。 啟用沈浸式檢視會顯示混合實境入口網站,並引導使用者戴上頭戴式裝置。

在桌面監視器上以 2D 檢視開頭的應用程式可能會建立次要沉浸式檢視,以顯示頭戴式裝置中的內容。 例如,監視器上的 2D Edge 視窗會在頭戴式裝置中顯示 360 度視訊。

在沈浸式檢視中執行的應用程式是唯一可見的應用程式
在沈浸式檢視中執行的應用程式是唯一可見的應用程式

Windows Mixed Reality 首頁中的 2D 檢視

身臨其境檢視以外的任何專案,都以 2D 檢視呈現在您的世界中。

應用程式在桌面監視器和頭戴式裝置上可能會有 2D 檢視。 新的 2D 檢視會放在與在監視器上或頭戴式裝置上建立的檢視相同的殼層中。 應用程式或使用者目前無法在混合實境首頁與監視器之間移動 2D 檢視。

在 2D 檢視中執行的應用程式與其他應用程式共用混合世界中的空間
在 2D 檢視中執行的應用程式與其他應用程式共享空間

其他應用程式磚的位置

您可以使用次要磚 API,在世界上放置多達 2D 檢視的應用程式。 這些「釘選」磚會顯示為用戶必須放置的啟動顯示畫面,然後稍後可以使用 來啟動您的應用程式。 Windows Mixed Reality 目前不支援將任何 2D 磚內容轉譯為動態磚。

應用程式可以使用次要磚有多個位置
應用程式可以使用次要磚有多個位置

切換檢視

從 2D XAML 檢視切換至沈浸式檢視

如果應用程式使用 XAML,則 XAML IFrameworkViewSource 會控制應用程式的第一個檢視。 在啟用 CoreWindow 之前,應用程式必須切換至沈浸式檢視,以確保應用程式會直接啟動至沈浸式體驗。

使用 CoreApplication.CreateNewViewApplicationViewSwitcher.SwitchAsync 使其成為使用中檢視。

注意

應用程式可以在 2D 檢視和沉浸式檢視之間切換 當應用程式進入沉浸式檢視時,混合世界和其他應用程式就會消失
左:應用程式可以在 2D 檢視和沉浸式檢視之間切換。 正確:當應用程式進入沉浸式檢視時,Windows Mixed Reality 家用版和其他應用程式就會消失。

從沈浸式檢視切換回鍵盤 XAML 檢視

在檢視之間來回切換的一個常見原因是在混合實境應用程式中顯示鍵盤。 如果應用程式顯示 2D 檢視,殼層才能夠顯示系統鍵盤。 如果應用程式需要取得文字輸入,它可能會提供具有文字輸入欄位的自訂 XAML 檢視、切換至該欄位,然後在輸入完成後切換回 。

如同上一節,您可以使用 ApplicationViewSwitcher.SwitchAsync ,從沈浸式檢視轉換回 XAML 檢視。

應用程式大小

2D 應用程式檢視一律會出現在固定的虛擬石板中。 這會使所有 2D 檢視都顯示完全相同的內容量。 以下是應用程式 2D 檢視大小的一些進一步詳細資料:

  • 重設大小時會保留應用程式的外觀比例。
  • 重設大小並不會變更應用程式 解析度和縮放比例
  • 應用程式無法查詢其實際大小。

2D 應用程式會出現固定視窗大小
具有 2D 檢視的應用程式會顯示固定視窗大小

應用程式磚

[開始] 功能表 會使用標準小型磚和中型磚進行釘選,以及混合實境中的所有應用程式清單。

適用於 Windows Mixed Reality 的 [開始] 功能表
適用於 Windows Mixed Reality 的 [開始] 功能表

應用程式對應用程式互動

當您建置應用程式時,您可以存取豐富的應用程式,以存取 Windows 10 上可用的應用程式通訊機制。 許多新的通訊協定 API 和檔案註冊完全適用於 HoloLens,以啟用應用程式啟動和通訊。

針對桌面頭戴式裝置,與指定擴展名或通訊協定相關聯的應用程式可能是Win32 應用程式,只能出現在桌面監視器或桌面平板電腦中。

通訊協定

HoloLens 支援透過 Windows.System.Launcher API 啟動應用程式的應用程式。

啟動另一個應用程式時,需要考慮一些事項:

  • 執行非強制回應啟動時,例如 LaunchUriAsync 時,用戶必須先放置應用程式,才能與其互動。

  • 執行強制回應啟動時,例如透過 LaunchUriForResultsAsync,強制回應應用程式會放在視窗頂端。

  • Windows Mixed Reality 無法在獨佔檢視之上重疊應用程式。 若要顯示已啟動的應用程式,Windows 會將使用者帶回世界以顯示應用程式。

檔案選擇器

HoloLens 同時 支援 FileOpenPickerFileSavePicker 合約。 不過,未預安裝任何應用程式,以符合檔案選擇器合約。 例如,這些應用程式 - OneDrive 可以從 Microsoft 市集安裝。

如果您已安裝多個檔案選擇器應用程式,則不會看到任何釐清 UI 來選擇要啟動的應用程式。 相反地,將會選擇安裝的第一個檔案選擇器。 儲存盤案時,會產生包含時間戳的檔名。 用戶無法變更此專案。

根據預設,本機支援下列擴充功能:

App 擴充
相片 bmp, gif, jpg, png, avi, mov, mp4, wmv
Microsoft Edge htm, html, pdf, svg, xml

應用程式合約和 Windows Mixed Reality 擴充功能

應用程式合約和延伸模組點可讓您註冊應用程式,以利用更深入的操作系統功能,例如處理擴展名或使用背景工作。 這是 HoloLens 上支援和不支援的合約和延伸點清單。

合約或延伸模組 是否支援?
帳戶圖片提供者 (延伸模組) 不支援
鬧鐘 不支援
App Service 支援但無法完全運作
約會提供者 不支援
自動播放 (擴充功能) 不支援
背景工作(延伸模組) 部分支援 (並非所有觸發程式都正常運作)
更新工作 (擴充功能) 支援
快取的檔案更新程序合約 支援
相機設定(延伸模組) 不支援
撥號通訊協定 不支援
檔案開啟 (副檔名) 支援
檔案開啟選擇器合約 支援
檔案儲存選擇器合約 支援
鎖定畫面通話 不支援
媒體播放 不支援
播放至合約 不支援
預安裝組態工作 不支援
列印 3D 工作流程 支援
列印工作設定 (延伸模組) 不支援
URI 啟用 (擴充功能) 支援
受限制的啟動 不支援
搜尋合約 不支援
設定合約 不支援
共享合約 不支援
SSL/憑證(延伸模組) 支援
Web 帳戶提供者 支援

應用程式檔案記憶體

所有記憶體都是透過 Windows.Storage 命名空間。 HoloLens 不支援應用程式記憶體同步/漫遊。 如需詳細資訊,請參閱下列檔:

已知資料夾

如需UWP app的完整詳細數據,請參閱 KnownFolders

屬性 HoloLens 上支援 沈浸式頭戴式裝置支援 描述
AppCaptures✔️✔️取得應用程式擷取資料夾。
CameraRoll✔️✔️取得相機 Roll 資料夾。
DocumentsLibrary✔️✔️取得文件庫。 文檔庫不適用於一般用途。
MusicLibrary✔️✔️取得音樂媒體櫃。
Objects3D✔️✔️取得 Objects 3D 資料夾。
PicturesLibrary✔️✔️取得圖片庫。
播放清單✔️✔️取得播放清單資料夾。
SavedPictures✔️✔️取得 [已儲存的圖片] 資料夾。
VideosLibrary✔️✔️取得影片庫。
HomeGroup✔️取得 HomeGroup 資料夾。
MediaServerDevices✔️取得媒體伺服器的資料夾(Digital Living Network Alliance (DLNA)) 裝置。
RecordedCalls✔️取得記錄的呼叫資料夾。
RemovableDevices✔️取得卸載式裝置資料夾。

應用程式套件

使用 Windows 10 時,您不再以作業系統為目標,而是 將應用程式的目標設為一或多個裝置系列。 裝置系列可識別可在裝置系列內跨裝置預期的 API、系統特性和行為。 它也會決定可從 Microsoft Store 安裝您 app 的一組裝置。

  • 若要將桌面頭戴裝置和 HoloLens 設為目標,請將您的應用程式設為 Windows。通用 裝置系列。
  • 若要以桌面頭戴裝置為目標,請將您的應用程式設為 Windows.Desktop 裝置系列。
  • 若只要以 HoloLens 為目標,請將您的應用程式設為 Windows.Holographic 裝置系列。

另請參閱