Впервые на русском: Документация 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. Введение

Gear VR имеет тачпад. Он отображается как мышь для Unity, поэтому мы можем использовать следующее:

С Gear VR также нужно получить данные с тачпада. Мы добавили образец сценария под названием VRInput, который работает со свайпами, кликами и двойными кликами. Он также позволяет установить стрелки направления и Left-Ctrl (Fire1 установлен по умолчанию Unity) на клавиатуре (или левую кнопку мыши), чтобы активировать свайпы и клики.

Несмотря на то, что в редакторе Unity можно тестировать содержимое Gear VR с помощью DK2, в настоящее время нет способа протестировать контент из Unity в GearVR. Поскольку тачпад Gear VR – это фактически мышь, мы можем просто использовать мышь для имитации ввода данных. Поскольку размещение клавиатуры проще при использовании шлема виртуальной реальности, для удобства VRInput также обрабатывает нажатия как свайпы и прокрутку, а Left-Ctrl (Fire1) – как клики.

Чтобы обеспечить базовую функциональность с помощью геймпадов, левая клавиша действует как свайпы, а одна из кнопок действует как клик.

Пример действия свайпов можно найти в VRSampleScenes/Scenes/Examples/Touchpad.

Ниже приведен пример сценария ExampleTouchpad, который применяет AddTorque к Rigidbody в зависимости от направления движения, позволяя объекту вращаться.

 

using UnityEngine;

using VRStandardAssets.Utils;

 

namespace VRStandardAssets.Examples

{

// This script shows a simple example of how

// swipe controls can be handled.

public class ExampleTouchpad : MonoBehaviour

{

[SerializeField] private float m_Torque = 10f;

[SerializeField] private VRInput m_VRInput;

[SerializeField] private Rigidbody m_Rigidbody;

 

 

private void OnEnable()

{

m_VRInput.OnSwipe += HandleSwipe;

}

 

 

private void OnDisable()

{

m_VRInput.OnSwipe -= HandleSwipe;

}

 

 

//Handle the swipe events by applying AddTorque to the Ridigbody

private void HandleSwipe(VRInput.SwipeDirection swipeDirection)

{

switch (swipeDirection)

{

case VRInput.SwipeDirection.NONE:

break;

case VRInput.SwipeDirection.UP:

m_Rigidbody.AddTorque(Vector3.right * m_Torque);

break;

case VRInput.SwipeDirection.DOWN:

m_Rigidbody.AddTorque(-Vector3.right * m_Torque);

break;

case VRInput.SwipeDirection.LEFT:

m_Rigidbody.AddTorque(Vector3.up * m_Torque);

break;

case VRInput.SwipeDirection.RIGHT:

m_Rigidbody.AddTorque(-Vector3.up * m_Torque);

break;

}

}

}

}

 

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

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