Nano Hash - криптовалюты, майнинг, программирование

Как найти вращение головы в Google Cardboard Unity3D?

Привет, ребята, как мне найти поворот телефона с помощью Google Cardboard SDK в Unity3D, например, как смотрит голова человека? Мне нужно найти, смотрит ли он больше на восток, запад или север. Нахожу ли я вращение головы, или родительскую основную камеру?


Ответы:


1

Класс Cardboard содержит свойство HeadRotation, которое является кватернионом.

Quaternion crtRot = youCardboardController.HeadRotation;

Чтобы использовать его вращение, как в Unity с направленными векторами, вы можете просто умножить его на Vector3.forward.

Vector3 lookDir = crtRot * Vector3.forward;

Визуализация вектора в редакторе может помочь сузить круг проблем

void Update () {
  // ..
  Debug.DrawRay( pos, lookDir * 100, Color.blue );
  // ..
}

Отсюда вам нужно только знать, где находится север в смысле вектора направления. Сделайте Vector3.Angle(), и у вас будет угол между вашим аватаром и вектором Севера. Возможно, вы захотите оценить оба вектора с их осями Y, установленными на 0.

Вы также можете использовать Vector3.Dot() (точечный продукт), чтобы определить, насколько оба вектора смотрят в одном направлении.

У меня была проблема с HeadPosition, которая не обновлялась должным образом. Поэтому, если вы работаете с HeadPosition, имейте в виду, что он может придерживаться 0,0,0.

11.05.2015

2

Возьмите Head.transform.rotation — это ориентация головы пользователя.

Я не совсем уверен, что вы имеете в виду под севером или западом. Если в мобильном устройстве есть магнитометр, то, возможно, вы могли бы прочитать его данные, чтобы определить, где находится север, но я никогда этого не делал.

07.05.2015
  • Игровые объекты Main Camera и Head не отражают вращение в игре. Какой предмет на самом деле вращается, когда он поворачивает голову? 08.05.2015
  • Как они не отражают вращение? Вы все правильно настроили? Правильно ли реагируют камеры на движение головы/телефона? 08.05.2015
  • это делает объект Head, а не основная камера 28.08.2015

  • 3

    Это будет вращение объекта «Голова», хотя основная камера обычно имеет такое же вращение.

    Но если вам нужно направление относительно реального мира, эта информация недоступна в SDK. Компас нельзя использовать из-за магнита, поэтому нет возможности определить реальное направление.

    29.05.2015

    4

    Просто возьмите угол поворота основной камеры в сцене. Это даст вам углы поворота головы относительно осей x, y и z.

    В VR-сценах на основе GVR система внутренне вращает камеру относительно движений головы. Таким образом, легко получить вращение головы, используя углы поворота основной камеры.

    Для этого,

    //local rotation of the Transform of the camera
    Camera.main.transform.localEulerAngles.y
    
    //The world Y rotation
    Camera.main.transform.rotation.y
    
    04.11.2020
    Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

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

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..