Пазлы виртуальной и дополненной реальности — Софт Эйт Софт
Description: Как включить и использовать режимы дополненной реальности и виртуальной реальности в пазлах.

# Пазлы виртуальной и дополненной реальности

Эти пазлы используются для создания приложений дополненной реальности (ДР) и виртуальной реальности (ВР), работающих с использованием технологии WebXR.

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

## Содержание

- Перечень пазлов
  - check VR mode
  - enter VR mode
  - check AR mode
  - enter AR mode
  - detect surface AR
  - AR hit point
  - AR hit normal
  - camera control object
  - on session event
  - traverse controllers
  - get controller property
  - end AR/VR session

#

## Перечень пазлов

#

### check VR mode

Проверяет наличие системы виртуальной реальности. В случае успеха запускаются пазлы в слоте if available do. В противном случае, если браузер не поддерживает ВР или оборудование не найдено, запускаются пазлы в слоте if unavailable do.

Для получения дополнительной информации по созданию приложений виртуальной реальности обратитесь к соответствующему разделу.

#

### enter VR mode

Активирует режим виртуальной реальности. Пазлы, размещенные в слотах on enter do и on exit do, срабатывают при входе или выходе из режима ВР. Пазлы, размещенные в слоте if unavailable do, срабатывают, если сеанс ВР не доступен.

Режимы ВР-позиционирования:

sitting or standing
  Неподвижная камера, расположенная на некоторой высоте над землей. Центр мировой системы координат располагается в ногах пользователя. Этот режим рекомендуется к использованию в большинстве случаев, поскольку он совместим с большинством устройств, присутствующих на рынке, например «Мета Квест 1-3» или «ЭйчТиСи Вайв»
looking around
  Неподвижная камера, расположенная в нулевых координатах.
room
  Свободная камера, расположенная внутри определенных границ, в частности комнаты.
walking
  Свободная камера, которую можно перемещать без ограничений.
viewer locked
  Неподвижная камера, расположенная в нулевых координатах. Все содержимое является родительским для вида.

Чтобы правильно управлять камерой в режиме ВР, при входе в режим ВР обязательно привяжите ее к какому-либо пустому или реальному объекту, расположенному в выбранном вами 3Д-редакторе. Это необходимо потому, что в ВР-сессии камера полностью контролируется, а вы можете перемещать только пустой объект, к которому привязана камера.

Начиная с релиза «Вердж3Д» 4.3, вы также можете использовать пазл camera control object вместо ручного создания управляющего объекта.

#

### check AR mode

Проверяет систему дополненной реальности. В случае успеха запускаются пазлы в слоте if available do. В противном случае, если браузер не поддерживает ДР или оборудование ДР не найдено, срабатывают пазлы в слоте if unavailable do. Пазлы в слоте else if Apple USDZ do запускаются, если WebXR-совместимое оборудование не найдено, но система поддерживает основанную на USDZ технологию Apple AR Quick Look.

Для получения дополнительной информации по созданию приложений дополненной реальности обратитесь к соответствующему разделу.

#

### enter AR mode

Активирует режим дополненной реальности. Пазлы, размещенные в слотах on enter do и on exit do, срабатывают при входе или выходе из режима ДР. Пазлы, размещенные в слоте if unavailable do, срабатывают, если не удалось установить сеанс ДР.

Свойство allow HTML используется для отображения HTML-контента в режиме ДР. Если указано, содержимое элемента canvas container будет отображаться поверх 3Д-контента. Этот параметр считается экспериментальным.

Режимы позиционирования ДР:

looking around
  Неподвижная камера, расположенная в начале координат. Этот режим рекомендуется для использования в большинстве случаев, в частности для расстановки моделей на горизонтальных или вертикальных поверхностях.
sitting or standing
  Неподвижная камера, расположенная на некоторой высоте над землей.
room
  Мобильная камера, расположенная внутри некоторых границ, таких как комната.
walking
  Мобильная камера без ограничений.
viewer locked
  Неподвижная камера, расположенная в нулевых координатах. Все содержимое является родительским для вида.

#

### detect surface AR

Обнаруживает поверхности в режиме дополненной реальности путем направления луча вперед. При пересечении этот луч запускает пазлы в слоте on intersection do. Если пересечения не произошло или устройство находится в состоянии «разогрева», срабатывают пазлы в слоте if missed do.

Параметр smooth используется для того, чтобы сделать движение маркера более плавным. Укажите значение 0 для отключения сглаживания, значение, близкое к 1, для максимального сглаживания.

#

### AR hit point

Координаты точки поверхности, обнаруженные с помощью пазла detect surface AR. Могут быть отдельными значениями X, Y, Z или вектором XYZ.

#

### AR hit normal

Координаты нормали к поверхности, обнаруженные с помощью пазла detect surface AR. Могут быть отдельными значениями X, Y, Z или вектором XYZ.

#

### camera control object

Вернуть объект, управляющий камерой в ВР/ДР-режиме. Перемещая этот объект (например пазлом set transform), вы можете смещать камеру относительно исходного положения. Использование данного объекта избавляет от необходимости привязывать камеру к вспомогательному объекту-заглушке вручную, поскольку данный объект создаётся и уничтожается автоматически при активации/деактивации WebXR-сессии.

#

### on session event

Захватывает событие сессии ВР, сгенерированное устройством виртуальной реальности (например, гарнитурой или кнопкой контроллера), и запускает пазлы, указанные в слоте do.

События:

- select — срабатывает, когда пользователь нажимает и отпускает кнопку основного контроллера.
- selectstart — срабатывает при нажатии пользователем кнопки основного контроллера.
- selectend — срабатывает, когда пользователь отпускает основную кнопку контроллера.
- squeeze — срабатывает, когда пользователь сжимает и разжимает контроллер.
- squeezestart — срабатывает, когда пользователь сжимает контроллер.
- squeezeend — срабатывает, когда пользователь разжимает контроллер.
- connected — срабатывает при подключении контроллера ВР, т.е. при входе в сеанс ВР. Используйте это событие для инициализации любой логики контроллера.
- disconnected — срабатывает при отключении контроллера ВР.

#

### traverse controllers

Перебирает все подключенные контроллеры, выполняя пазлы, указанные в слоте do.

#

### get controller property

Получить свойство контроллера.

Доступные свойства:

- object — пустой объект, представляющий контроллер.
- ray/reticle — луч контроллера или объект прицела.
- handedness — ориентация контроллера, одна из: "left" (левый контроллер), "right" (правый контроллер), "none" (не указано, вероятно, контроллер, установленный на голове).
- target ray mode — один из: "gaze" (для устройств, типа cardboard), "tracked-pointer" (для обычных ручных контроллеров), "screen" (событие связано с вводом на холсте, в настоящее время не реализовано).
- profiles — список имен профилей контроллеров.
- gamepad index — индекс геймпада контроллера, который может быть передан в пазл get gamepad property для получения дополнительной информации от вашего контроллера, такой как состояние кнопок/осей.

#

### end AR/VR session

Принудительно завершить сеанс виртуальной или дополненной реальности.

## Проблемы с пазлами?

Обращайтесь за помощью на наш форум!