Представления приложений
Приложения Windows могут содержать два типа представлений: иммерсивные представления и 2D-представления. Приложения могут переключаться между различными иммерсивными и 2D-представлениями, отображая их 2D-представления либо на мониторе в виде окна, либо в гарнитуре в виде листа. Приложения, имеющие по крайней мере одно иммерсивное представление, классифицируются как приложения смешанной реальности. Приложениями, для которых никогда не используется иммерсивный режим, являются 2D-приложениями.
Обзор
Иммерсивные представления
Иммерсивный режим дает приложению возможность создавать голограммы по всему миру или погрузить пользователя в виртуальное окружение. Если приложение рисует в иммерсивном представлении, ни одно другое приложение одновременно не рисует голограммы из нескольких приложений. Постоянно изменяя перспективу, с которой приложение отрисовывает сцену в соответствии с движениями головы пользователя, ваше приложение может отображать заблокированные в мире голограммы. Заблокированные в мире голограммы остаются в фиксированной точке в реальном мире или могут отображать виртуальный мир, который держит свою позицию как пользователь перемещается.
Когда в иммерсивном представлении голограммы можно поместить в мир вокруг вас.
В HoloLens приложение отрисовывает голограммы поверх реального мира пользователя. В windows Смешанная реальность иммерсивной гарнитуры пользователь не может видеть реальный мир, и поэтому ваше приложение должно отобразить все, что пользователь увидит.
Дом windows Смешанная реальность (включая меню и голограммы, размещенные в среде), не отображается в иммерсивном представлении. В HoloLens Кортана ретранслирует все системные уведомления, которые происходят во время иммерсивного представления, в котором пользователь может реагировать с помощью голосового ввода.
Хотя в иммерсивном представлении приложение также отвечает за обработку всех входных данных. Входные данные в Windows Смешанная реальность состоят из взгляда, жеста (только HoloLens), [голосовых и контроллеров движения (только иммерсивные гарнитуры).
2D-представления
Несколько приложений с 2D-представлением, размещенным вокруг дома для Windows Смешанная реальность
Приложение с 2D-представлением отображается в домашнем Смешанная реальность Windows (иногда называемой "оболочкой") как виртуальный лист, отрисованный вместе с средствами запуска приложений и другими голограммами, которые пользователь разместил в своем мире. Пользователь может настроить этот лист для перемещения и масштабирования, хотя он остается в фиксированном разрешении независимо от его размера. Если первое представление приложения — это 2D-представление, содержимое 2D заполняет тот же список, который используется для запуска приложения.
В классической гарнитуре вы можете запускать любые приложения универсальная платформа Windows (UWP), которые работают на мониторе на рабочем столе. Эти приложения уже отрисовывают 2D-представления сегодня, и их содержимое автоматически появится на листе в мире пользователя при запуске. 2D приложения UWP могут использовать семейство устройств Windows.Universal для запуска как на настольных гарнитурах, так и в HoloLens в виде slates.
Одним из ключевых вариантов использования 2D-представлений является форма ввода текста, использующая системную клавиатуру. Так как оболочка не может отображаться поверх иммерсивного представления, приложение должен переключиться на 2D-представление, чтобы отобразить системную клавиатуру. Приложения, которые хотят принять ввод текста, необходимо переключиться на 2D-представление с текстовым полем. В то время как текстовое поле имеет фокус, система будет отображать системную клавиатуру, позволяя пользователю вводить текст.
Приложение может иметь 2D-представления как на мониторе рабочего стола, так и в подключенной гарнитуре на компьютере с настольным компьютером. Например, вы можете просматривать edge на мониторе рабочего стола с помощью основного 2D-представления, чтобы найти видео с 360 градусами. При воспроизведении этого видео Edge запустит дополнительное иммерсивное представление внутри гарнитуры для отображения иммерсивного видеоконтента.
Выбор представления
При активации приложения можно выбрать тип представления, который вы хотите отобразить. Для приложения CoreApplication всегда существует основное представление приложения и любое количество дополнительных представлений приложений, которые вы хотите создать. На рабочем столе можно представить представление приложения как окно. Наши шаблоны приложений смешанной реальности создают проект Unity, в котором основное представление приложения является иммерсивным.
Приложение может создать дополнительное представление приложения 2D с помощью таких технологий, как XAML, для использования таких функций Windows 10, как покупка в приложении. Если приложение запущено в качестве приложения UWP для других устройств с Windows 10, основное представление — 2D. Однако вы можете "осветить" в смешанной реальности, добавив другое представление приложения, иммерсивное для отображения опыта объемно. Представьте себе, что создание приложения просмотра фотографий в XAML, где кнопка слайд-шоу переключится на иммерсивное представление приложения, которое пролетело фотографии из приложения по всему миру и поверхностям.
Работающее приложение может иметь 2D-представление или иммерсивное представление
Создание иммерсивного представления
Приложения смешанной реальности создают иммерсивное представление, которое достигается с помощью типа HolographicSpace .
Приложение, которое является исключительно иммерсивным, всегда должно создавать иммерсивное представление при запуске, даже если запущено с рабочего стола. Иммерсивные представления всегда отображаются в гарнитуре независимо от того, откуда они были созданы. Активация иммерсивного представления отобразит портал Смешанная реальность и поможет пользователю поместить гарнитуру.
Приложение, начинающееся с 2D-представления на классическом мониторе, может создать дополнительное иммерсивное представление для отображения содержимого в гарнитуре. Примером этого является окно 2D Edge на мониторе, отображающее видео с 360 градусом в гарнитуре.
Приложение, работающее в иммерсивном представлении, является единственным видимым
2D-представление в главном Смешанная реальность Windows
Все, кроме иммерсивного представления, отображается как 2D-представление в вашем мире.
Приложение может иметь 2D-представления как на мониторе на рабочем столе, так и в гарнитуре. Новое 2D-представление будет помещено в ту же оболочку, что и созданное представление, либо на мониторе, либо в гарнитуре. В настоящее время приложение или пользователь не могут перемещать 2D-представление между Смешанная реальность дома и монитором.
Приложения, работающие в 2D-представлении, совместно используют пространство с другими приложениями.
Размещение дополнительных плиток приложения
Вы можете разместить столько приложений с 2D-представлением в мире, сколько вы хотите, с помощью API-интерфейсов вторичных плиток. Эти закрепленные плитки будут отображаться как экраны-заставки, которые пользователи должны разместить, а затем позже использовать для запуска приложения. Windows Смешанная реальность в настоящее время не поддерживает отрисовку содержимого плитки 2D в виде динамических плиток.
Приложения могут иметь несколько размещений с помощью дополнительных плиток
Переключение представлений
Переход с представления 2D XAML на иммерсивное представление
Если приложение использует XAML, xaml IFrameworkViewSource будет управлять первым представлением приложения. Приложению потребуется переключиться в иммерсивное представление перед активацией CoreWindow, чтобы убедиться, что приложение запускается непосредственно в иммерсивном интерфейсе.
Используйте CoreApplication.CreateNewView и ApplicationViewSwitcher.SwitchAsync, чтобы сделать его активным.
Примечание.
- Не указывайте флаг ApplicationViewSwitchingOptions.ConsolidateViews на SwitchAsync при переключении из представления XAML в иммерсивное представление или список, запускаемый приложением, будет удален из мира.
- SwitchAsync должен вызываться с помощью диспетчера , связанного с представлением, в которое выполняется переключение.
- Если необходимо запустить виртуальную клавиатуру или активировать другое приложение, необходимо вернуться к представлению XAML.
Слева: приложения могут переключаться между режимом 2D и иммерсивным представлением. Справа: когда приложение переходит в иммерсивное представление, windows Смешанная реальность дома и других приложений исчезают.
Переключение с иммерсивного представления обратно на представление XAML клавиатуры
Одна из распространенных причин переключения между представлениями — отображение клавиатуры в приложении смешанной реальности. Оболочка может отображать только системную клавиатуру, если приложение отображает 2D-представление. Если приложению требуется получить текстовые данные, он может предоставить пользовательское представление XAML с текстовым полем ввода, переключиться на него, а затем переключиться обратно после завершения ввода.
Как и в предыдущем разделе, вы можете использовать ApplicationViewSwitcher.SwitchAsync для перехода обратно в представление XAML из иммерсивного представления.
Размер приложения
Представления 2D-приложений всегда отображаются в фиксированном виртуальном листе. Это делает все 2D-представления одинаковым объемом содержимого. Ниже приведены дополнительные сведения о размере 2D-представления приложения:
- Пропорции приложения сохраняются при изменении размера.
- Разрешение приложений и коэффициент масштабирования не изменяются путем изменения размера.
- Приложения не могут запрашивать фактический размер в мире.
Приложения с 2D-представлением отображаются с фиксированными размерами окна
Плитки приложений
В меню используется стандартная небольшая плитка и средняя плитка для закреплений и списка "Все приложения" в смешанной реальности.
Меню для Windows Смешанная реальность
Взаимодействие приложения с приложением
При создании приложений у вас есть доступ к расширенным механизмам взаимодействия с приложениями, доступными в Windows 10. Многие из новых API-интерфейсов протокола и регистрации файлов прекрасно работают в HoloLens, чтобы обеспечить запуск и обмен данными с приложениями.
Для настольных гарнитур приложение, связанное с заданным расширением файла или протоколом, может быть приложением Win32, которое может отображаться только на мониторе рабочего стола или на рабочем столе.
Протоколы
HoloLens поддерживает приложение для запуска с помощью API Windows.System.Launcher.
При запуске другого приложения следует учитывать некоторые аспекты.
При выполнении немодального запуска, например LaunchUriAsync, пользователь должен разместить приложение перед взаимодействием с ним.
При выполнении модального запуска, например launchUriForResultsAsync, модальное приложение помещается в верхней части окна.
Windows Смешанная реальность не может наложить приложения на эксклюзивные представления. Чтобы отобразить запущенное приложение, Windows возвращает пользователя в мир для отображения приложения.
Средства выбора файлов
HoloLens поддерживает контракты FileOpenPicker и FileSavePicker. Однако приложение не устанавливается предварительно, которое выполняет контракты средства выбора файлов. Эти приложения — OneDrive, например, можно установить из Microsoft Store.
Если установлено несколько приложений выбора файлов, вы не увидите пользовательский интерфейс диамбигуации для выбора запуска приложения. Вместо этого будет выбран первый средство выбора файлов. При сохранении файла создается имя файла, которое включает метку времени. Это невозможно изменить пользователем.
По умолчанию поддерживаются следующие расширения локально:
Приложение | Расширения |
---|---|
Photos | bmp, gif, jpg, png, avi, mov, mp4, wmv |
Microsoft Edge | htm, html, pdf, svg, xml |
Контракты приложений и расширения Windows Смешанная реальность
Контракты приложений и точки расширения позволяют зарегистрировать приложение, чтобы воспользоваться преимуществами более глубоких функций операционной системы, таких как обработка расширения файла или использование фоновых задач. Это список поддерживаемых и неподдерживаемых контрактов и точек расширения в HoloLens.
Хранилище файлов приложений
Все хранилище осуществляется через пространство имен Windows.Storage. HoloLens не поддерживает синхронизацию и перемещение хранилища приложений. Дополнительные сведения см. в следующей документации:
Известные папки
Полные сведения о приложениях UWP см. в разделе "Известные папки".
Свойство | Поддерживается в HoloLens | Поддерживается на иммерсивных гарнитурах | Description |
---|---|---|---|
AppCaptures | ✔️ | ✔️ | Возвращает папку "Захват приложений". |
CameraRoll | ✔️ | ✔️ | Возвращает папку "Свертка камеры". |
DocumentsLibrary | ✔️ | ✔️ | Возвращает библиотеку документов. Библиотека документов не предназначена для общего использования. |
MusicLibrary | ✔️ | ✔️ | Возвращает библиотеку музыки. |
Объекты3D | ✔️ | ✔️ | Возвращает папку "Объекты 3D". |
PicturesLibrary | ✔️ | ✔️ | Возвращает библиотеку изображений. |
Списки воспроизведения | ✔️ | ✔️ | Возвращает папку списков воспроизведения. |
СохраненныеPictures | ✔️ | ✔️ | Возвращает папку "Сохраненные рисунки". |
ВидеоLibrary | ✔️ | ✔️ | Возвращает библиотеку видео. |
Домашняя группа | ✔️ | Возвращает папку HomeGroup. | |
MediaServerDevices | ✔️ | Получает папку устройств сервера мультимедиа (Digital Living Network Alliance (DLNA)). | |
RecordedCalls | ✔️ | Возвращает папку записанных вызовов. | |
Съемныеdevices | ✔️ | Возвращает папку съемных устройств. |
Пакет приложения
В Windows 10 вы больше не нацелены на операционную систему, а вместо этого нацелены на одно или несколько семейств устройств. Семейство устройств определяет API, системные характеристики и поведение, которые можно ожидать на разных устройствах в семействе устройств. Он также определяет набор устройств, на которых можно установить приложение из Microsoft Store.
- Чтобы нацелить на настольные гарнитуры и HoloLens, нацелите приложение на Windows. Семейство универсальных устройств.
- Чтобы использовать только классические гарнитуры, нацелите приложение на семейство устройств Windows.Desktop .
- Чтобы использовать только HoloLens, нацелите приложение на семейство устройств Windows.Holographic .