Впервые на русском: Документация Unity для разработчиков. Примеры VRInput в VR Samples
Продолжаем публикацию эксклюзивной информации для разработчиков Unity. Новый раздел посвящён примерам VRInput в VR Samples.
- Документация Unity для разработчиков:
- Обзор виртуальной реальности
- Проекты сэмплов для виртуальной реальности
- Начало работы с VR Development. Основы
- Утилиты Oculus Unity
- Начало работы с VR Development. Создание первого проекта виртуальной реальности
- Начало работы с VR Development. Полезная информация для разработки виртуальной реальности
- Обзор VREyeRaycaster, VRInput и VRInteractiveItem
- Обзор SelectionRadial и SelectionSlider
- Примеры взаимодействия в VRSampleScenes. Взаимодействия в Menu scene
- Примеры взаимодействия в VRSampleScenes. Взаимодействие в Лабиринте
- Примеры взаимодействия в VRSampleScenes. Взаимодействие Лётчика
- Примеры взаимодействия в VRSampleScenes. Взаимодействие в Тире 180 и Тире 360
- Вращение и позиционирование головы в виртуальной реальности
- Взаимодействие с тачпадом и клавиатурой во время игры в виртуальной реальности
- Примеры VRInput в VR Samples
- Пользовательские интерфейсы для виртуальной реальности
- Взаимодействие с пользовательским интерфейсом
- Свободное сглаживание текста для виртуальной реальности
- Движение в виртуальной реальности
- Движение в сценах VR Sample
- Старт проекта виртуальной реальности. DK2
- Старт проекта виртуальной реальности на Gear VR
- Публикация в магазине Oculus
- Оптимизация виртуальной реальности в Unity. Введение
Как было описано ранее, все наши сэмплы игр используют VRInput для обработки данных с тачпада и клавиатуры. Камера в «Лабиринте» также реагирует на свайпы:
Лабиринт
В этой сцене CameraOrbit воспринимает свайпы, позволяя изменить точку обзора:
private void OnEnable ()
{
m_VrInput.OnSwipe += HandleSwipe;
}
private void HandleSwipe(VRInput.SwipeDirection swipeDirection)
{
// If the game isn’t playing or the camera is fading, return and don’t handle the swipe.
if (!m_MazeGameController.Playing)
return;
if (m_CameraFade.IsFading)
return;
// Otherwise start rotating the camera with either a positive or negative increment.
switch (swipeDirection)
{
case VRInput.SwipeDirection.LEFT:
StartCoroutine(RotateCamera(m_RotationIncrement));
break;
case VRInput.SwipeDirection.RIGHT:
StartCoroutine(RotateCamera(-m_RotationIncrement));
break;
}
}
Для получения дополнительной информации о том, почему вращается в этой сцене камера, а не происходит вращение самого лабиринта, см. в статье «Движение».
Теперь у вас должно быть хорошее представление о том, как основное взаимодействие работает в виртуальной реальности в сценах VR Sample. Есть много способов это реализовать, но этот метод – хороший способ быстрого и лёгкого начала.
Примечание: Данный материал представлен для ознакомления, при перепечатывании ссылка на оригинал обязательна. Если вы хотите принять участие в помощи проекту, пишите на editor@vrgeek.ru
Если вы разработчик и вы хотите продолжить свою карьеру в лучших компаниях России, пишите на editor@vrgeek.ru с пометкой «Работа мечты», и мы поможем вам с этим.