Представления приложения

Приложения для Windows могут содержать два вида представлений: иммерсивные представления и двухмерные представления. Приложения могут переключаться между различными иммерсивными и двумед-представлениями, отображая их двухмерные представления либо на мониторе в качестве окна, либо в гарнитуре в качестве шифера. Приложения, имеющие хотя бы одно иммерсивное представление, классифицируются как приложения смешанной реальности. Приложениями, для которых никогда не используется иммерсивный режим, являются 2D-приложениями.

Общие сведения

Иммерсивные представления

Иммерсивный режим дает приложению возможность создавать голограммы по всему миру или погрузить пользователя в виртуальное окружение. Когда приложение рисует в иммерсивном представлении, ни одно другое приложение не рисует одновременно— голограммы из нескольких приложений не объединяются вместе. Постоянно настраивая перспективу, с которой приложение отрисовывает свою сцену в соответствии с движениями головы пользователя, ваше приложение может отрисовывать заблокированные миром голограммы. Заблокированные миром голограммы остаются в фиксированной точке реального мира или могут отображать виртуальный мир, который сохраняет свое положение при перемещении пользователя.

В иммерсивном представлении голограммы можно разместить в окружающем вас мире.
В иммерсивном представлении голограммы можно разместить в окружающем вас мире

В HoloLens приложение отрисовывает голограммы поверх реального окружения пользователя. На Windows Mixed Reality иммерсивной гарнитуре пользователь не может видеть реальный мир, поэтому приложение должно отображать все, что увидит пользователь.

Windows Mixed Reality главная страница (включая меню "Пуск" и голограммы, размещенные в среде) также не отображается в иммерсивном представлении. В HoloLens Кортана ретранслирует все системные уведомления, возникающие во время иммерсивного представления, на которые пользователь может отвечать голосовым вводом.

В иммерсивном представлении ваше приложение также отвечает за обработку всех входных данных. Входные данные в Windows Mixed Reality состоят из взгляда, жеста (только HoloLens), [голоса и контроллеров движения (только иммерсивные гарнитуры).

2D-представления

Несколько двухd-представлений, изложенных вокруг Windows Mixed Reality дома
Несколько приложений с двухD-представлением, размещенных вокруг Windows Mixed Reality дома

Приложение с двухd-представлением появляется в Windows Mixed Reality дома (иногда называется "оболочкой") в виде виртуального листа, отображаемого рядом с средствами запуска приложений и другими голограммами, которые пользователь разместил в своем мире. Пользователь может настроить этот лист для перемещения и масштабирования, хотя он остается в фиксированном разрешении независимо от его размера. Если первое представление приложения является двухd-представлением, 2D-содержимое будет заполняться тем же листом, который использовался для запуска приложения.

В настольной гарнитуре можно запускать любые приложения универсальная платформа Windows (UWP), которые выполняются на мониторе компьютера. Эти приложения уже отрисовывают 2D-представления, и их содержимое будет автоматически отображаться на листе в мире пользователя при запуске. 2D-приложения UWP могут быть ориентированы на семейство устройств Windows.Universal для работы как на настольных гарнитурах, так и в HoloLens в виде слопов.

Одним из ключевых вариантов использования двухd-представлений является отображение формы ввода текста, в которой используется системная клавиатура. Так как оболочка не может отображаться поверх иммерсивного представления, приложение должен переключиться на двухмерное представление, чтобы отобразить системную клавиатуру. Приложения, которые хотят принимать ввод текста, должны переключиться на двухd-представление с текстовым полем. В то время как это текстовое поле имеет фокус, система отображает системную клавиатуру, позволяя пользователю ввести текст.

Приложение может иметь двухd-представления как на настольном мониторе, так и в подключенной гарнитуре на настольном компьютере. Например, вы можете просматривать Edge на мониторе рабочего стола, используя main двухD-представление, чтобы найти видео на 360 градусов. При воспроизведении этого видео Edge запустит дополнительное иммерсивное представление внутри гарнитуры для отображения иммерсивного видеосодержимого.

Выбор представления

После активации приложения можно выбрать тип представления, который вы хотите отобразить. Для приложения CoreApplication всегда есть основное представление приложения и любое количество дополнительных представлений приложения, которые вы хотите создать. На рабочем столе представление приложения можно рассматривать как окно. Шаблоны приложений смешанной реальности создают проект Unity, в котором основное представление приложения является иммерсивным.

Ваше приложение может создать дополнительное двухd-представление приложения с помощью таких технологий, как XAML, для использования функций Windows 10, таких как покупка из приложения. Если приложение было запущено как приложение UWP для других устройств с Windows 10, основным представлением будет двухмерное представление. Однако в смешанной реальности можно "загореться", добавив еще одно представление приложения, которое является иммерсивным, чтобы показать опыт объемно. Представьте себе, что вы создаете приложение для просмотра фотографий в XAML, где кнопка слайд-шоу переключится в иммерсивное представление приложения, которое перемещает фотографии из приложения по всему миру и поверхностям.

Работающее приложение может иметь двухмерное или иммерсивное представление
Работающее приложение может иметь двухмерное или иммерсивное представление

Создание иммерсивного представления

Приложения смешанной реальности создают иммерсивное представление, которое достигается с помощью типа HolographicSpace .

Приложение, которое является чисто иммерсивным, всегда должно создавать иммерсивное представление при запуске, даже если оно запускается с рабочего стола. Иммерсивные представления всегда отображаются на гарнитуре, независимо от того, откуда они были созданы. При активации иммерсивного представления отобразится портал Смешанная реальность и пользователь сможет надеть гарнитуру.

Приложение, которое начинается с двухмерного представления на настольном мониторе, может создать дополнительное иммерсивное представление для отображения содержимого в гарнитуре. Примером этого является 2D-окно Edge на мониторе, отображающее 360-градусное видео в гарнитуре.

Приложения, работающие в иммерсивном представлении, являются единственными видимыми
Приложение, работающее в иммерсивном представлении, является единственным видимым

ДвухD-представление на домашней странице Windows Mixed Reality

Все, кроме иммерсивного представления, отображается в вашем мире как двухмерное представление.

Приложение может иметь двухd-представления как на настольном мониторе, так и на гарнитуре. Новое двухd-представление будет помещено в ту же оболочку, что и созданное представление, на мониторе или в гарнитуре. В настоящее время приложение или пользователь не могут перемещать двухd-представление между Смешанная реальность домом и монитором.

Приложения, работающие в двухd-представлении, совместно используют пространство в смешанном мире с другими приложениями
Приложения, работающие в двухd-представлении, совместно используют пространство с другими приложениями

Размещение дополнительных плиток приложения

Вы можете разместить в мире столько приложений с двухd-представлением, сколько захотите, с помощью API дополнительных плиток. Эти закрепленные плитки будут отображаться в виде экранов-заставок, которые пользователи должны разместить, а затем использовать для запуска приложения. Windows Mixed Reality в настоящее время не поддерживает отрисовку содержимого двухD-плиток в виде живых плиток.

Приложения могут иметь несколько размещений с использованием дополнительных плиток
Приложения могут иметь несколько размещений с использованием дополнительных плиток

Переключение представлений

Переключение из двухмерного представления XAML в иммерсивное представление

Если приложение использует XAML, iFrameworkViewSource XAML будет управлять первым представлением приложения. Приложению необходимо переключиться в иммерсивное представление перед активацией CoreWindow, чтобы убедиться, что приложение запускается непосредственно в иммерсивном интерфейсе.

Используйте CoreApplication.CreateNewView и ApplicationViewSwitcher.SwitchAsync , чтобы сделать его активным представлением.

Примечание

  • Не указывайте флаг ApplicationViewSwitchingOptions.ConsolidateViews для SwitchAsync при переключении из представления XAML в иммерсивное представление, иначе лист, который запустил приложение, будет удален из мира.
  • Метод SwitchAsync должен вызываться с помощью диспетчера, связанного с представлением, в которое выполняется переключение.
  • Если необходимо запустить виртуальную клавиатуру или активировать другое приложение, вам потребуется вернуться к представлению XAML.

Приложения могут переключаться между двумя и иммерсивными представлениями. Когда приложение переходит в иммерсивное представление, смешанный мир и другие приложения исчезают
Слева: приложения могут переключаться между двумя и иммерсивными представлениями. Справа: когда приложение переходит в иммерсивное представление, Windows Mixed Reality главная и другие приложения исчезают.

Переключение из иммерсивного представления обратно в представление XAML с клавиатуры

Одной из распространенных причин переключения между представлениями является отображение клавиатуры в приложении смешанной реальности. Оболочка может отображать системную клавиатуру только в том случае, если приложение отображает двухd-представление. Если приложению необходимо получить текстовый ввод, оно может предоставить пользовательское представление XAML с полем ввода текста, переключиться на него, а затем переключиться обратно после завершения ввода.

Как и в предыдущем разделе, вы можете использовать ApplicationViewSwitcher.SwitchAsync для перехода обратно в представление XAML из иммерсивного представления.

Размер приложения

Представления двухd-приложений всегда отображаются на фиксированном виртуальном листе. В этом случае во всех двухd-представлениях отображается одинаковый объем содержимого. Ниже приведены некоторые дополнительные сведения о размере двухD-представления приложения.

Отображаются двухd-приложения с фиксированными размерами окон
Приложения с двухd-представлением отображаются с фиксированными размерами окон

Плитки приложений

В меню "Пуск" используется стандартная маленькая плитка и средняя плитка для контактов, а также список всех приложений в смешанной реальности.

Меню
Меню "Пуск" для Windows Mixed Reality

Взаимодействие между приложениями

При создании приложений у вас есть доступ к многофункциональным механизмам взаимодействия приложений с приложениями, доступным в Windows 10. Многие из новых API-интерфейсов протокола и регистрации файлов прекрасно работают на HoloLens, чтобы обеспечить запуск приложений и обмен данными.

Для настольных гарнитур приложение, связанное с определенным расширением файла или протоколом, может быть приложением Win32, которое может отображаться только на настольном мониторе или на настольном листе.

Протоколы

HoloLens поддерживает запуск приложений через API Windows.System.Launcher.

При запуске другого приложения следует учитывать некоторые моменты.

  • При выполнении немодального запуска, например LaunchUriAsync, пользователь должен разместить приложение перед взаимодействием с ним.

  • При модальном запуске, например с помощью LaunchUriForResultsAsync, модальное приложение размещается в верхней части окна.

  • Windows Mixed Reality не могут накладывать приложения на эксклюзивные представления. Чтобы отобразить запущенное приложение, Windows возвращает пользователя в мир для отображения приложения.

Средства выбора файлов

HoloLens поддерживает контракты FileOpenPicker и FileSavePicker . Однако не появляется предустановленное приложение, которое выполняет контракты средства выбора файлов. Эти приложения, например OneDrive, можно установить из Microsoft Store.

Если у вас установлено несколько приложений средства выбора файлов, вы не увидите пользовательский интерфейс неоднозначности для выбора приложения для запуска. Вместо этого будет выбрано первое установленное средство выбора файлов. При сохранении файла создается имя файла, включающее метку времени. Пользователь не может его изменить.

По умолчанию локально поддерживаются следующие расширения:

Службы Расширения
"Фото" bmp, gif, jpg, png, avi, mov, mp4, wmv
Microsoft Edge htm, html, pdf, svg, xml

Контракты приложений и расширения Windows Mixed Reality

Контракты приложений и точки расширения позволяют зарегистрировать приложение, чтобы воспользоваться преимуществами более глубоких функций операционной системы, таких как обработка расширения файла или использование фоновых задач. Это список поддерживаемых и неподдерживаемых контрактов и точек расширения в HoloLens.

Контракт или расширение Поддержка
Поставщик рисунков учетной записи (расширение) Не поддерживается
Сигнализации Не поддерживается
Службы приложений Поддерживается, но не полностью работает
Поставщик встреч Не поддерживается
Автозапуск (расширение) Не поддерживается
Фоновые задачи (расширение) Частично поддерживается (не все триггеры работают)
Задача обновления (расширение) Поддерживается
Контракт на обновление кэшированных файлов Поддерживается
Параметры камеры (расширение) Не поддерживается
Протокол набора номера Не поддерживается
Активация файла (расширение) Поддерживается
Файл Открыть контракт средства выбора Поддерживается
Контракт средства выбора файлов Поддерживается
Вызов с экрана блокировки Не поддерживается
Воспроизведение мультимедиа Не поддерживается
Контракт "Воспроизвести с" Не поддерживается
Предустановленная задача конфигурации Не поддерживается
Печать трехмерного рабочего процесса Поддерживается
Параметры задачи печати (расширение) Не поддерживается
Активация URI (расширение) Поддерживается
Ограниченный запуск Не поддерживается
Контракт поиска Не поддерживается
Контракт параметров Не поддерживается
Контракт предоставления общего доступа Не поддерживается
SSL/сертификаты (расширение) Поддерживается
Поставщик учетной записи веб-сайта Поддерживается

Хранилище файлов приложений

Все хранилище осуществляется через пространство имен Windows.Storage. HoloLens не поддерживает синхронизацию и перемещение хранилища приложений. Дополнительные сведения проверка в следующей документации:

Известные папки

Полные сведения о приложениях UWP см. в разделе KnownFolders .

Свойство Поддерживается в HoloLens Поддерживается на иммерсивных гарнитурах Описание
AppCaptures✔️✔️Возвращает папку App Captures.
CameraRoll✔️✔️Возвращает папку Camera Roll.
DocumentsLibrary✔️✔️Возвращает библиотеку документов. Библиотека документов не предназначена для общего использования.
MusicLibrary✔️✔️Возвращает библиотеку "Музыка".
Объекты3D✔️✔️Возвращает трехмерную папку Objects.
PicturesLibrary✔️✔️Возвращает библиотеку рисунков.
Плейлисты✔️✔️Возвращает папку списков воспроизведения.
СохраненныеPictures✔️✔️Возвращает папку Сохраненные изображения.
VideosLibrary✔️✔️Возвращает библиотеку видео.
Домашняя группа✔️Возвращает папку HomeGroup.
MediaServerDevices✔️Возвращает папку серверов мультимедиа (DLNA) устройств.
RecordedCalls✔️Возвращает папку записанных вызовов.
RemovableDevices✔️Возвращает папку съемных устройств.

Пакет приложения

В Windows 10 вы больше не ориентируейтесь на операционную систему, а нацеливать приложение на одно или несколько семейств устройств. Семейство устройств определяет API-интерфейсы, характеристики системы и поведение, ожидаемые на устройствах внутри семейства. Он также определяет набор устройств, на которых можно установить приложение из Microsoft Store.

  • Для настольных гарнитур и HoloLens нацеливать приложение на Windows. Семейство универсальных устройств.
  • Чтобы использовать только настольные гарнитуры, нацельте свое приложение на семейство устройств Windows.Desktop .
  • Чтобы использовать только HoloLens, нацелите приложение на семейство устройств Windows.Holographic .

См. также раздел