Как мне отслеживать положение Unity физических объектов, с которыми взаимодействует игрок, используя данные отслеживания рук Hololens2?

#unity3d #collision-detection #virtual-reality #hololens #mrtk

#unity3d #обнаружение столкновений #виртуальная реальность #hololens #mrtk

Вопрос:

В основном я работаю над смешанной реальностью с использованием Hololens2 и Unity, где у игрока есть несколько физических объектов, с которыми им нужно взаимодействовать, а также виртуальные объекты. Одним из физических объектов является контроллер оружия, который имеет IMU для определения ускорения и ориентации. Моя главная проблема заключается в следующем: как мне получить положение физического объекта в Unity, чтобы точно стрелять виртуальными снарядами по виртуальному врагу?

Моя текущая идея состоит в том, чтобы игрок помещал физическое оружие в виртуальную ограничительную рамку в начале игры. Затем я могу отслеживать положение виртуального ящика через столкновение с руками игрока, когда они берут физический контроллер. Работает ли OnCollisionEnter или аналогичный метод с руками игроков? (см. Прикрепленное изображение)

Ограничивающая рамка для пистолета

Я также изучаю использование пространственной ориентации / распознавания изображений / оценки позы для выполнения этой задачи, а также исследую использование базовой станции отслеживания для определения положения объекта (аналогично HTC Vive / Oculus Rift ).

Здесь приветствуются любые предложения, ресурсы и помощь. Спасибо!

РЕДАКТИРОВАТЬ ОБНОВЛЕНИЕ 30.11.2020: Эрнандо прокомментировал ниже предложение QR-кодов, предположим, что для этого проекта нам не разрешено использовать QR-коды, и мы хотим получить как можно более точные данные об ориентации. Спасибо, Эрнандо!

Ответ №1:

Для определения местоположения объекта QR-код определенно будет рекомендацией для быстрого поиска с помощью устройства HL2. Я также видел QR-подход на нескольких площадках для VR LBE, как описано здесь . QR-код просто находится на верхней части устройства.

В противном случае, если рассматриваемый контроллер поддерживает Bluetooth, возможно, может выполнить сопряжение с устройством, и если устройство имеет информацию о местоположении, возможно, может передать местоположение, где оно находится. Исходя из того, что я вижу из всего вышесказанного, это было бы нестандартным решением и сильно зависело бы от возможностей контроллера, которые можно увидеть, если QR-коды не учитываются. Я был свидетелем некоторых решений контроллера для первого запуска пользовательского интерфейса, чтобы сделать что-то вроде касания пола, чтобы получить начальную точку отсчета. Или, альтернативно, делать что-то вроде того, чтобы всегда брать пистолет из определенного места в реальном мире, как это делают некоторые местные игроки перед началом игры.

Удачи в проекте, просто мой совет по использованию систем с виртуальной реальностью

Ответ №2:

Разрешено ли контроллеру вставлять несколько QR-кодов? Если это разрешено, мы рекомендуем вам использовать отслеживание QR-кода, чтобы помочь в определении местоположения вашего контроллера. Если вы предпочитаете использовать распознавание изображений, обнаружение объектов или другие технологии, для этого требуется служба Azure или какая-либо сторонняя библиотека, дополнительную информацию см. В документации по компьютерному зрению

Комментарии:

1. Спасибо за информацию, но, к сожалению, для этого проекта мы специально пытаемся сделать это без QR-кодов. Как бы вы это сделали без QR-кодов?