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

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

Документация Unity для разработчиков:

  1. Обзор виртуальной реальности
  2. Проекты сэмплов для виртуальной реальности
  3. Начало работы с VR Development. Основы
  4. Начало работы с VR Development. Создание первого проекта виртуальной реальности
  5. Начало работы с VR Development. Полезная информация для разработки виртуальной реальности
  6. Обзор VREyeRaycaster, VRInput и VRInteractiveItem
  7. Обзор SelectionRadial и SelectionSlider
  8. Примеры взаимодействия в VRSampleScenes. Взаимодействия в Menu scene
  9. Примеры взаимодействия в VRSampleScenes. Взаимодействие в Лабиринте
  10. Примеры взаимодействия в VRSampleScenes. Взаимодействие в Тире 180 и Тире 360
  11. Вращение и позиционирование головы в виртуальной реальности
  12. Взаимодействие с тачпадом и клавиатурой во время игры в виртуальной реальности

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 с пометкой «Работа мечты», и мы поможем вам с этим.