4. Предоставление общего доступа к сведениям о перемещении объекта нескольким пользователям

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

Задачи

  • Настройка проекта для совместного использования перемещений объектов
  • Создать простое многопользовательское приложение для совместной работы.

Подготовка сцены

В рамках этого раздела вы подготовите сцену, добавив в нее заготовку для учебника.

В окне Hierarchy (Иерархия) разверните объект MixedRealityPlayspace и выберите дочерний объект Main Camera (Главная камера), а затем в окне Inspector (Инспектор) нажмите кнопку Add Component (Добавить компонент), чтобы добавить компонент AR Camera Manager (Script) (Диспетчер камеры дополненной реальности (скрипт)) к объекту Main Camera:

Unity с частично настроенным компонентом диспетчера камеры дополненной реальности

В окне Project (Проект) перейдите к папке Assets (Активы)>MRTK.Tutorials.MultiUserCapabilities>Prefabs (Заготовки) и перетащите заготовку TableAnchor на объект SharedPlayground в окне Hierarchy (Иерархия), чтобы добавить ее в сцену в качестве дочернего элемента объекта SharedPlayground.

Unity с выбранной созданной заготовкой TableAnchor

В окне Hierarchy (Иерархия) убедитесь, что объект MixedRealityPlayspace развернут, а объект TableAnchor выбран. Перетащите компонент Main Camera (Главная камера) в поле Camera (Камера) компонента AR Session Origin (Источник сеанса дополненной реальности) для TableAnchor:

Unity с настроенным назначением главной камеры для источника сеанса дополненной реальности

Настройка PUN для создания объектов

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

В окне "Проект" перейдите к папке Assets (Активы)>MRTK.Tutorials.MultiUserCapabilities>Resources (Ресурсы).

В окне "Иерархия" разверните объект NetworkLobby и выберите дочерний объект NetworkRoom. Затем в окне "Инспектор" найдите компонент Photon Room (Script) (Photon Room — скрипт) и настройте его, как описано ниже.

  • В поле Rover Explorer Prefab (Заготовка Rover Explorer) назначьте заготовку RoverExplorer_Complete_Variant из папки Resources (Ресурсы).

Unity с частично настроенным компонентом Photon Room

Сохраняя выделение объекта NetworkRoom, в окне "Иерархия" разверните объект TableAnchor. Затем в окне "Инспектор" найдите компонент Photon Room (Script) (Photon Room — скрипт) и настройте его, как описано ниже.

  • В поле Rover Explorer Location (Расположение Rover Explorer) укажите дочерний объект TableAnchor >Table из окна Hierarchy (Иерархия).

Unity с настроенным компонентом Photon Room

Использование возможности общего перемещения объектов

Если вы теперь создадите и развернете проект Unity в HoloLens, а затем вернетесь в Unity и во время выполнения приложения на устройстве HoloLens нажмете кнопку Play (Играть), чтобы перейти в игровой режим, вы увидите, как при перемещении объекта в HoloLens перемещается объект в Unity.

Анимация, показывающая Unity с сетевыми объектами

Поздравляем!

Вы успешно настроили проект. Теперь перемещения объектов синхронизированы и пользователи могут видеть, как перемещаются объекты, когда их перемещают другие пользователи. Так пользователи будут видеть друг друга в их фактическом физическом расположении. Это также гарантирует, что объекты будут отображаться в одинаковом физическом положении с одинаковым поворотом для всех пользователей. Если вы хотите узнать, как физически выровнять синхронизированные движения, см. руководство Создание нового приложения HoloLens Unity с помощью Пространственных привязок Azure.

В этой серии руководств по многопользовательским возможностям показано, как настроить учетную запись Photon, создать приложение PUN, интегрировать PUN в проект Unity, а также настроить пользовательские аватары и общие объекты. Это руководство завершает серию.