Впервые на русском: Документация Unity для разработчиков. Вращение и позиционирование головы в виртуальной реальности

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

  1. Документация Unity для разработчиков:
    1. Обзор виртуальной реальности
    2. Проекты сэмплов для виртуальной реальности
    3. Начало работы с VR Development. Основы
    4. Утилиты Oculus Unity
    5. Начало работы с VR Development. Создание первого проекта виртуальной реальности
    6. Начало работы с VR Development. Полезная информация для разработки виртуальной реальности
    7. Обзор VREyeRaycaster, VRInput и VRInteractiveItem
    8. Обзор SelectionRadial и SelectionSlider
    9. Примеры взаимодействия в VRSampleScenes. Взаимодействия в Menu scene
    10. Примеры взаимодействия в VRSampleScenes. Взаимодействие в Лабиринте
    11. Примеры взаимодействия в VRSampleScenes. Взаимодействие Лётчика
    12. Примеры взаимодействия в VRSampleScenes. Взаимодействие в Тире 180 и Тире 360
    13. Вращение и позиционирование головы в виртуальной реальности
    14. Взаимодействие с тачпадом и клавиатурой во время игры в виртуальной реальности
    15. Примеры VRInput в VR Samples
    16. Пользовательские интерфейсы для виртуальной реальности
    17. Взаимодействие с пользовательским интерфейсом
    18. Свободное сглаживание текста для виртуальной реальности
    19. Движение в виртуальной реальности
    20. Движение в сценах VR Sample
    21. Старт проекта виртуальной реальности. DK2
    22. Старт проекта виртуальной реальности на Gear VR
    23. Публикация в магазине Oculus
    24. Оптимизация виртуальной реальности в Unity. Введение

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

Чтобы получить доступ к этим значениям, нам нужно использовать класс VR.InputTracking и указать, какой VRNode нам нужен для доступа. Чтобы получить поворот головы, нам следует использовать VRNode.Head, а не отдельные функции для глаз. Дополнительные сведения см. в разделе «Узлы камер» в разделе «Начало работы с VR Development».

Примером использования вращения в качестве способа ввода может быть незаметное вращение меню или другого объекта, основанного на вращении головы. Вы можете увидеть пример этого в сцене VRSampleScenes/Examples/Rotation и сцене ExampleRotation:

 

// Store the Euler rotation of the gameobject.

var eulerRotation = transform.rotation.eulerAngles;

 

// Set the rotation to be the same as the user’s in the y axis.

eulerRotation.x = 0;

eulerRotation.z = 0;

eulerRotation.y = InputTracking.GetLocalRotation(VRNode.Head).eulerAngles.y;

 

Вы можете видеть, как объект вращается в зависимости от того, где находится пользователь:

В нашем примере «Лётчик» (Flyer) вы можете увидеть изменения положения космического корабля, основанное на вращении головы в FlyerMovementController:

Quaternion headRotation = InputTracking.GetLocalRotation (VRNode.Head);

m_TargetMarker.position = m_Camera.position + (headRotation * Vector3.forward) * m_DistanceFromCamera;

 

Примечание: Данный материал представлен для ознакомления, при перепечатывании ссылка на оригинал обязательна. Если вы хотите принять участие в помощи проекту, пишите на editor@vrgeek.ru

Если вы разработчик и вы хотите продолжить свою карьеру в лучших компаниях России, пишите на editor@vrgeek.ru с пометкой «Работа мечты», и мы поможем вам с этим.