Использование ресурсов компьютера для работы приложения с помощью удаленного приложения голографического удаленного взаимодействия
В этой статье описывается следующий вариант использования голографического удаленного взаимодействия:
- Вы хотите, чтобы ресурсы компьютера питали ваше приложение, а не полагались на встроенные ресурсы HoloLens. Вы можете создать и создать приложение с возможностью голографического удаленного взаимодействия. Пользователь работает с приложением на HoloLens, но на самом деле приложение работает на компьютере, что позволяет приложению воспользоваться преимуществами более мощных ресурсов компьютера. Это может быть особенно полезно, если приложение имеет ресурсы или модели с высоким разрешением и вы не хотите, чтобы частота кадров страдала. Мы называем это удаленным приложением голографического удаленного взаимодействия. Входные данные из HoloLens — взгляд, жест, голос и пространственное сопоставление — отправляются на компьютер, где содержимое отображается в виртуальном иммерсивном представлении. Затем отрисованные кадры отправляются в HoloLens.
Этот тип голографического удаленного взаимодействия также доступен для иммерсивных гарнитур Windows Mixed Reality (WMR). Это может быть полезно, если, например, гарнитура WMR подключена к компьютеру с рюкзаком и вы хотите выполнить потоковую передачу приложения с более мощного компьютера на компьютер с рюкзаком.
Дополнительные сведения о голографическом удаленном взаимодействии см. в статье Общие сведения о голографическом удаленном взаимодействии.
Обратите внимание, что вы также можете использовать голографическое удаленное взаимодействие, если вы хотите предварительного просмотра и отладки приложения в процессе разработки.
Два доступных режима в голографическом удаленном взаимодействии
Режим 1: удаленное приложение, работающее на компьютере в режиме подключения, проигрыватель, работающий на HoloLens 2 в режиме прослушивания.
Проигрыватель прослушивает входящие подключения, пока удаленное приложение пытается подключиться.
Режим 2: удаленное приложение, работающее на компьютере в режиме прослушивания, проигрыватель, работающий на HoloLens 2 в режиме подключения.
Удаленное приложение прослушивает входящие подключения, пока проигрыватель пытается подключиться.
Настройка приложения "Голографический проигрыватель удаленного взаимодействия"
Чтобы использовать голографическое удаленное взаимодействие только в режиме 1, установите приложение Holographic Remoting Player из Microsoft Store на HoloLens 2 (в этой статье мы будем называть его просто проигрывателем). Как описано ниже, после скачивания и запуска приложения вы увидите номер версии и IP-адрес для подключения. Рекомендуется использовать последнюю доступную версию проигрывателя.
Для голографического удаленного взаимодействия требуется быстрый компьютер и Wi-Fi подключение. Дополнительные сведения см. в статье Проигрыватель, ссылки на которые приведены выше.
Чтобы использовать голографическое удаленное взаимодействие в обоих указанных выше режимах, необходимо клонировать проигрыватель с примером голографического удаленного взаимодействия и развернуть его в HoloLens 2 с помощью Visual Studio.
Создание удаленного приложения на компьютере для голографического удаленного взаимодействия с помощью Unity
В строке меню выберите Изменить > параметры проекта.
В столбце слева выберите Управление подключаемым модулем XR.
Убедитесь, что вы находитесь на вкладке параметров универсальная платформа Windows.
В разделе Подключаемый модуль OpenXR выберите Microsoft HoloLens группу функций и группу функций удаленного приложения для голографического удаленного взаимодействия.
Снимите флажок Инициализировать XR в проверка запуска.
Напишите код для настройки конфигурации удаленного взаимодействия и активации инициализации XR. Приложение может вызывать функцию Connect для режима 1 или функцию Listen для режима 2. Чтобы просмотреть пример, скачайте примеры Open XR Unity Смешанная реальность, а затем в проекте RemotingSample просмотрите скрипт AppRemoting.cs.
Для режима 1 , режим подключения , вызовите
Microsoft.MixedReality.OpenXR.Remoting.AppRemoting.Connect
с заполненнымRemotingConfiguration
. Пример приложения предоставляет это в инспекторе и показывает, как заполнить IP-адрес из текстового поля. ВызовConnect
задаст конфигурацию и автоматически инициализирует XR, поэтому он должен вызываться как сопрограмма:StartCoroutine(Remoting.AppRemoting.Connect(remotingConfiguration));
Для режима 2 в режиме прослушивания вызовите
Microsoft.MixedReality.OpenXR.Remoting.AppRemoting.Listen
с заполненнымRemotingListenConfiguration
значением . Пример приложения предоставляет это в инспекторе. ВызовListen
задаст конфигурацию и ожидает подключения из примера проигрывателя голографического удаленного взаимодействия, поэтому он должен вызываться как сопрограмма:StartCoroutine(Remoting.AppRemoting.Listen(remotingListenConfiguration));
Во время выполнения можно получить текущее состояние подключения с помощью
AppRemoting.TryGetConnectionState
API и при необходимости отключить и деинициализировать XR с помощьюAppRemoting.Disconnect()
. Его можно использовать для отключения и повторного подключения к другому устройству в рамках одного сеанса приложения. Приложение RemotingSample предоставляет применимый куб, который будет отключать сеанс удаленного взаимодействия при его нажатии.
Запуск удаленного приложения "Голографическое удаленное взаимодействие" и приложения "Проигрыватель" в режимах, описанных выше
Режим 1. Запустите удаленное приложение голографического удаленного взаимодействия на компьютере в режиме подключения и проигрыватель в режиме прослушивания:
Если проигрыватель уже установлен из магазина на HoloLens 2, пропустите шаги 2 и 3 ниже, где вы создаете и запускаете пример приложения проигрывателя. Вместо этого запустите установленный проигрыватель и перейдите к шагу 4.
Откройте приложение голографического удаленного взаимодействия с примером проигрывателя с помощью VS 2019 и выполните одно из следующих действий:
Для запуска на HoloLens 2 с помощью USB-кабеля:
- Настройте параметры сборки, как показано ниже.
- Откройте страницу Свойства проекта и перейдите к разделу Свойства> конфигурацииОтладка.
- Щелкните раскрывающийся список Отладчик, чтобы запустить , а затем выберите Устройство.
- В поле Аргументы командной строки добавьте "-listen".
Для запуска на HoloLens 2 с помощью Wi-Fi:
- Настройте параметры сборки, как показано ниже.
- Откройте страницу Свойства проекта и перейдите к разделу Свойства> конфигурацииОтладка.
- Щелкните раскрывающийся список Отладчик, чтобы запустить , а затем выберите Удаленный компьютер.
- В поле Аргументы командной строки добавьте IP-адрес Wi-Fi устройства HoloLens.
Чтобы развернуть решение SamplePlayer на HoloLens 2, нажмите кнопку воспроизведения в Visual Studio. Вы увидите, что проигрыватель HAR Sample работает на HoloLens 2 с сообщением "Ожидание подключения по IP-адресу HoloLens 2".
В удаленном приложении, работающем на хост-компьютере, добавьте IP-адрес HoloLens 2, показанного выше, и нажмите кнопку Подключить.
После установки подключения проигрыватель, работающий на HoloLens 2, запустит "Получение".
Режим 2. Запустите удаленное приложение на компьютере в режиме прослушивания и приложение проигрывателя HAR в режиме подключения:
На экране двухd ui в удаленном приложении, работающем на компьютере, щелкните Прослушивать.
Откройте страницу Свойства проекта и перейдите к разделу Свойства> конфигурацииОтладка.
Щелкните раскрывающийся список Отладчик, чтобы запустить , а затем выберите Устройство.
В поле Аргументы командной строки добавьте IP-адрес хост-компьютера.
Чтобы развернуть решение SamplePlayer на HoloLens 2, в решении Visual Studio нажмите кнопку воспроизведения. Вы увидите, что на HoloLens 2 выполняется пример проигрывателя HAR, в котором отображается сообщение "Подключение к IP-адресу, заданному в аргументах командной строки".
После установки подключения приложение Голографического удаленного взаимодействия с примером проигрывателя, запущенное на HoloLens 2, запустит "Получение".
Совет
Для достижения наилучших результатов убедитесь, что приложение правильно задает .. /focus point. Это помогает голографическое удаленное взаимодействие наилучшим образом адаптировать сцену к задержке беспроводного подключения.
Миграция из предыдущих API голографического удаленного взаимодействия
Дополнительные сведения о голографическом удаленном взаимодействии см. в статье Общие сведения о голографическом удаленном взаимодействии.
UnityEngine.XR.WSA.HolographicRemoting
Из примера кода в документации Unity:
XR. WSA. HolographicRemoting | OpenXR.Remoting.AppRemoting |
---|---|
HolographicRemoting.ConnectRemotingSession() |
AppRemoting.Connect(RemotingConfiguration) |
HolographicRemoting.DisconnectRemotingSession() |
AppRemoting.Disconnect() |
HolographicRemoting.ConnectionState |
AppRemoting.TryGetConnectionState(out ConnectionState, out DisconnectReason) |
UnityEngine.XR.WindowsMR. WindowsMRRemoting
XR.WindowsMR. WindowsMRRemoting | OpenXR.Remoting.AppRemoting |
---|---|
WindowsMRRemoting.Connect() |
AppRemoting.Connect(RemotingConfiguration) |
WindowsMRRemoting.Listen() |
AppRemoting.Listen(RemotingListenConfiguration) |
WindowsMRRemoting.Disconnect() |
AppRemoting.Disconnect() |
WindowsMRRemoting.TryGetConnectionState(out ConnectionState) и WindowsMRRemoting.TryGetConnectionFailureReason(out ConnectionFailureReason) |
AppRemoting.TryGetConnectionState(out ConnectionState, out DisconnectReason) |
WindowsMRRemoting.isAudioEnabled , WindowsMRRemoting.maxBitRateKbps , WindowsMRRemoting.remoteMachineName |
Передается через AppRemoting.Connect структуру RemotingConfiguration |
WindowsMRRemoting.isConnected |
AppRemoting.TryGetConnectionState(out ConnectionState state, out _) && state == ConnectionState.Connected |
См. также:
- Обзор удаленного голографического взаимодействия
- Предварительный просмотр и отладка приложения с помощью голографического удаленного взаимодействия и режима воспроизведения
- Руководство. Начало работы с голографическим удаленным взаимодействием на пк
- Руководство. Создание приложения для компьютера с голографическим удаленным взаимодействием