應用程式檢視

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首頁 (有時稱為「殼層」) 為虛擬平板,並隨著應用程式啟動器和其他全像投影一起轉譯,使用者已放置於其世界中。 使用者可以調整此平板來移動和調整它,但它會維持固定解析度,無論大小為何。 如果您的應用程式第一個檢視是 2D 檢視,您的 2D 內容將會填滿用來啟動應用程式的相同 Slate。

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

2D 檢視的其中一個主要用法是顯示使用系統鍵盤的文字輸入表單。 因為殼層無法在沉浸式檢視之上呈現,所以應用程式必須切換至 2D 檢視以顯示系統鍵盤。 想要接受文字輸入的應用程式需要切換至具有文字方塊的 2D 檢視。 當該文字方塊有焦點時,系統會顯示系統鍵盤,讓使用者能夠輸入文字。

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

選擇檢視

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

您的應用程式可以使用 XAML 之類的技術來建立額外的 2D 應用程式檢視,以使用應用程式內購買等Windows 10功能。 如果您的 app 已啟動為其他Windows 10裝置的 UWP app,則您的主要檢視為 2D。 不過,您可以藉由新增另一個沈浸式應用程式檢視,以大量顯示體驗,以「亮起」混合實境。 想像一下,在 XAML 中建置相片檢視器應用程式,其中投影片按鈕切換至沈浸式應用程式檢視,而該檢視會從全球各地的應用程式和表面擷取相片。

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

建立沉浸式檢視

混合實境應用程式會建立沈浸式檢視,其可透過 HolographicSpace 類型來達成。

純沉浸式應用程式應該一律會在啟動時建立沉浸式檢視,即使從桌面啟動也一樣。 不論其建立位置為何,沉浸式檢視一律會顯示在頭戴式裝置中。 啟用沉浸式檢視會顯示Mixed Reality入口網站,並引導使用者放置其頭戴式裝置。

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

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

Windows Mixed Reality首頁中的 2D 檢視

除了沈浸式檢視以外的任何專案,您世界中的 2D 檢視會轉譯為 2D 檢視。

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

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

放置其他應用程式磚

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

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

切換檢視

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

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

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

注意

  • 從 XAML 檢視切換至沈浸式檢視時,請勿將 ApplicationViewSwitchingOptions.ConsolidateViews 旗標指定為 SwitchAsync ,或從世界移除啟動應用程式的平板。
  • 應該使用與您要切換之檢視相關聯的發送器來呼叫SwitchAsync
  • 如果您需要啟動虛擬鍵盤或想要啟動另一個應用程式,則必須 切換回 XAML 檢視。

當應用程式進入沈浸式檢視時,應用程式可以在 2D 檢視和沉浸式檢視之間切換,混合世界和其他應用程式會消失
左方:應用程式可以在 2D 檢視和沉浸式檢視之間切換。 Right:當應用程式進入沉浸式檢視時,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 Store 安裝。

如果您已安裝多個檔案選擇器應用程式,則不會看到任何混淆 UI,以選擇要啟動的應用程式。 相反地,將會選擇安裝的第一個檔案選擇器。 儲存檔案時,會產生包含時間戳記的檔案名。 這無法由使用者變更。

根據預設,本機支援下列延伸模組:

應用程式 延伸模組
照片 bmp, gif, jpg, png, avi, mov, mp4, wmv
Microsoft Edge htm, html, pdf, svg, xml

應用程式合約和Windows Mixed Reality延伸模組

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

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

應用程式檔案儲存體

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

已知資料夾

如需 UWP app 的完整詳細資料,請參閱 KnownFolders

屬性 HoloLens 上支援 支援沉浸式頭戴式裝置 描述
AppCaptures✔️✔️取得應用程式擷取資料夾。
CameraRoll✔️✔️取得相機滾動資料夾。
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 裝置系列。

另請參閱