Обновление приложений UWP, работающих в двухмерном режиме, для Windows Mixed Reality

Windows Mixed Reality позволяет пользователям видеть голограммы так, как если бы они были рядом с ними в физическом и цифровом мире. По сути, holoLens и настольные компьютеры, к которых вы подключаете иммерсивные гарнитуры, являются Windows 10 устройствами. Вы можете запускать почти все приложения универсальная платформа Windows (UWP) в Магазине как двухD-приложения.

Создание двухd-приложения UWP для смешанной реальности

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

Создание нового 2D-приложения UWP

Чтобы создать новое двухd-приложение для смешанной реальности, создайте стандартное двухd-универсальная платформа Windows (UWP). Никакие другие изменения приложения не требуются для последующего запуска этого приложения в виде листа в смешанной реальности.

Чтобы приступить к созданию двухd-приложения UWP, проверка статью Создание первого приложения.

Перенос существующего приложения из Магазина 2D в UWP

Если у вас уже есть двухD-приложение для Windows в Магазине, убедитесь, что оно предназначено для Windows 10 универсальная платформа Windows (UWP). Ниже приведены все потенциальные отправные точки, которые могут возникнуть с вашим приложением Магазина сегодня:

Начальная точка Целевой объект платформы манифеста AppX Как сделать это универсальным?
Windows Phone (Silverlight) Манифест приложения Silverlight Миграция в WinRT
Windows Phone 8.1 Universal Манифест AppX версии 8.1, не включающий целевой объект платформы Перенос приложения в универсальная платформа Windows
Магазин Windows 8 8 Манифест AppX, не включающий целевой объект платформы Перенос приложения в универсальная платформа Windows
Универсальный Магазин Windows 8.1 Манифест AppX версии 8.1, не включающий целевой объект платформы Перенос приложения в универсальная платформа Windows

Если у вас есть 2D-приложение Unity, созданное в качестве приложения Win32 на ПК, mac & linux standalone build target, переключитесь на целевой объект сборки универсальная платформа Windows для смешанной реальности.

Ниже мы поговорим о способах ограничения приложения только HoloLens с помощью семейства устройств Windows.Holographic.

Запуск двухмерного приложения в Windows Mixed Reality иммерсивной гарнитуре

Если вы развернули свое двухмерное приложение на настольном компьютере и опробовали его на мониторе, вы можете опробовать его на иммерсивной настольной гарнитуре!

Просто перейдите в меню Пуск в гарнитуре смешанной реальности и запустите приложение оттуда. Оболочка рабочего стола и голографическая оболочка совместно используют один и тот же набор приложений UWP, поэтому приложение уже должно присутствовать после развертывания из Visual Studio.

Нацеливание на иммерсивные гарнитуры и HoloLens

Поздравляем! Теперь приложение использует Windows 10 универсальная платформа Windows (UWP).

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

Измените семейство устройств на Windows.Universal

Теперь давайте перейдем к манифесту AppX, чтобы убедиться, что приложение UWP Windows 10 может работать в HoloLens:

  • Откройте файл решения приложения в Visual Studio и перейдите к манифесту пакета приложения.
  • Щелкните правой кнопкой мыши файл Package.appxmanifest в решении и перейдите в раздел Просмотр кода.
    package.appxmanifest в Обозреватель решений
  • Убедитесь, что целевая платформа — 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 для приложения.

    Конфигурация сборки x86 в Visual Studio

  • Выберите HoloLens Emulator (Эмулятор HoloLens) в раскрывающемся меню цели развертывания.

    Эмулятор HoloLens в списке целевых целей развертывания

  • Выберите Отладка > Начать отладку , чтобы развернуть приложение и начать отладку.

  • Эмулятор запустит и запустит приложение.

  • С помощью клавиатуры, мыши и контроллера Xbox разместите приложение в мире, чтобы запустить его.

    Эмулятор HoloLens, загруженный с примером UWP

Дальнейшие действия

На этом этапе может произойти одна из двух вещей:

  1. Ваше приложение отобразит свою заставку и начнет выполняться после его размещения в эмуляторе! Замечательно!
  2. Или после того, как вы увидите анимацию загрузки двухd-голограммы, загрузка остановится, и вы просто увидите свое приложение на экране-заставку. Это означает, что что-то пошло не так, и потребуется более подробное исследование, чтобы понять, как оживить приложение в Смешанная реальность.

Вам потребуется выполнить отладку, чтобы получить сведения о возможных проблемах, из-за которых приложение UWP не запускается на HoloLens.

Запуск приложения UWP в отладчике

Эти действия помогут вам выполнить отладку приложения UWP с помощью отладчика Visual Studio.

  • Если вы еще этого не сделали, откройте решение в Visual Studio. Измените целевой объект на эмулятор HoloLens и конфигурацию сборки на x86.
  • Выберите Отладка > Начать отладку , чтобы развернуть приложение и начать отладку.
  • Поместите приложение в мир с помощью мыши, клавиатуры или контроллера Xbox.
  • Теперь Visual Studio должна нарушиться в коде приложения.
    • Если приложение не сразу аварийно завершает работу или не врывается в отладчик из-за необработанных ошибок, пройдите тестовый проход основных функций приложения, чтобы убедиться, что все работает и работает. Вы можете увидеть ошибки, как на рисунке ниже (внутренние исключения, которые обрабатываются). Чтобы не пропустить внутренние ошибки, влияющие на работу приложения, выполните автоматические и модульные тесты, чтобы убедиться, что все работает должным образом.

Эмулятор HoloLens, загруженный с примером UWP с системным исключением

Обновление пользовательского интерфейса

Теперь, когда приложение UWP работает на иммерсивных гарнитурах и HoloLens в качестве двухмерной голограммы, мы убедимся, что оно выглядит красиво. Следует учесть ряд факторов:

  • Windows Mixed Reality будет запускать все двухмерные приложения с фиксированным разрешением и разрешением на дюйм, что соответствует 853 x 480 эффективным пикселям. Подумайте, требуется ли усовершенствовать дизайн в таком масштабе, и ознакомьтесь с приведенными ниже рекомендациями по проектированию, чтобы улучшить работу с HoloLens и иммерсивными гарнитурами.
  • Windows Mixed Reality не поддерживает динамические двухразовые плитки. Если основная функциональность — отображение сведений на живой плитке, попробуйте переместить эти сведения обратно в приложение или изучить средства запуска трехмерных приложений.

Разрешение и коэффициент масштабирования представления двухd-приложений

Из адаптивного дизайна

Windows 10 переместит все визуальные элементы из пикселей реального экрана в эффективные пиксели. Это означает, что разработчики разрабатывают свой пользовательский интерфейс в соответствии с Windows 10 Human Interface Guidelines для эффективных пикселей, а масштабирование Windows гарантирует, что эти эффективные пиксели будут правильным размером для удобства использования на разных устройствах, разрешениях, DPI и т. д. Дополнительные сведения см. в этой отличной статье на сайте MSDN и в этой презентации BUILD .

Даже с уникальной возможностью размещать приложения в вашем мире на разных расстояниях, телевизионные расстояния просмотра рекомендуется, чтобы обеспечить лучшую удобочитаемость и взаимодействие с взглядом и жестом. Из-за этого на виртуальном листе в Смешанная реальность Home будет отображаться плоское представление UWP по адресу:

1280x720, 150 %DPI (853x480 эффективных пикселей)

Это решение имеет ряд преимуществ:

  • Этот эффективный макет пикселей будет иметь примерно такую же плотность информации, как у планшета или небольшого рабочего стола.
  • Он соответствует фиксированному DPI и эффективным пикселям для приложений UWP, работающих на Xbox One, что обеспечивает беспроблемное взаимодействие на разных устройствах.
  • Этот размер выглядит хорошо при масштабировании в диапазоне рабочих расстояний для приложений в мире.

Рекомендации по проектированию интерфейса представления двухd-приложений

Сделайте следующее:

  • Следуйте Windows 10 human Interface Guidelines (HIG) для стилей, размеров шрифтов и размеров кнопок. HoloLens выполнит работу, чтобы убедиться, что ваше приложение будет иметь совместимые шаблоны приложений, читаемые размеры текста и соответствующий размер целевого объекта попадания.
  • Убедитесь, что ваш пользовательский интерфейс соответствует рекомендациям по гибкому дизайну , чтобы лучше всего выглядеть на уникальном разрешении и DPI HoloLens.
  • Используйте рекомендации по "светлой" цветовой теме из Windows.

Не делайте следующего:

  • Слишком резко изменяйте пользовательский интерфейс в смешанной реальности, чтобы пользователи могли работать с гарнитурой и из нее.

Общие сведения о модели приложения

Модель приложения для смешанной реальности предназначена для использования Смешанная реальность Home, где многие приложения живут вместе. Думайте об этом как о эквиваленте смешанной реальности рабочего стола, где вы запускаете несколько двухd-приложений одновременно. Это влияет на жизненный цикл приложения, плитки и другие ключевые функции приложения.

Панель приложения и кнопка "Назад"

Двухd-представления украшены панелью приложения над их содержимым. Панель приложения имеет две точки персонализации для конкретного приложения:

Заголовок: отображает отображаемое имя плитки, связанной с экземпляром приложения.

Кнопка "Назад": вызывает событие BackRequested при нажатии. Видимость кнопки "Назад" контролируется SystemNavigationManager.AppViewBackButtonVisibility.

Пользовательский интерфейс панели приложения в представлении двухd-приложений
Пользовательский интерфейс панели приложения в представлении двухd-приложений

Тестирование макета двухD-приложения

Важно протестировать приложение, чтобы убедиться, что текст доступен для чтения, кнопки являются целевыми, а приложение в целом выглядит правильно. Вы можете протестировать на настольных гарнитурах, HoloLens, эмуляторе или сенсорном устройстве с разрешением 1280x720 @150 %.

Новые возможности ввода

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

С помощью настольных гарнитур пользователи могут использовать контроллеры движения для указания приложений и выполнения действий. Они также могут использовать геймпад, нацелив на объекты своим взглядом.

Windows отвечает за все эти сложности для приложений UWP, переводя взгляд, жесты, голос и ввод контроллера движения в события указателя , которые абстрагируются от механизма ввода. Например, пользователь, возможно, сделал касание воздуха рукой или нажал триггер Select на контроллере движения, но двухмерным приложениям не нужно знать, откуда поступил ввод— они просто видят двухмерное сенсорное нажатие, как на сенсорном экране.

Ниже приведены общие понятия и сценарии, которые следует учитывать при переносе приложения UWP в HoloLens:

  • Gaze превращается в события наведении, которые могут неожиданно активировать меню, всплывающие элементы или другие элементы пользовательского интерфейса, чтобы всплыть, просто глядя вокруг вашего приложения.
  • Gaze не так точен, как ввод с помощью мыши. Используйте подходящий размер целевых объектов попадания для HoloLens, как и мобильные приложения, удобные для сенсорного ввода. С небольшими элементами, расположенными по краям приложения, особенно трудно взаимодействовать.
  • Пользователи должны переключать режимы ввода, чтобы перейти от прокрутки к перетаскиванию двумя пальцами. Если ваше приложение предназначено для сенсорного ввода, убедитесь, что за сдвигом двумя пальцами не будет заблокирована ни одна из основных функций. Если это так, рассмотрите возможность использования альтернативных механизмов ввода, таких как кнопки, которые могут запускать сдвиг двумя пальцами. Например, приложение "Карты" может масштабироваться двумя пальцами, но имеет кнопку "плюс", "минус" и "повернуть", чтобы имитировать одно и то же масштабирование одним щелчком мыши.

Голосовой ввод является важной частью смешанной реальности. Мы включили все API речи, которые находятся в Windows 10 питания Кортаны при использовании гарнитуры.

Публикация и обслуживание универсального приложения

Когда приложение будет запущено, упакуйте его, чтобы отправить его в Microsoft Store.

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