Найти тему
VR в Unity

Начало работы с VR в Unity3D

Оглавление

Для погружения в виртуальный мир требуется выполнить несколько простых шагов.

Результат всего за три статьи ;)
Результат всего за три статьи ;)

1. Создаем пустой проэктъ.

Для начала работы с VR в юнити, я использую стандартный пустой 3D-проект без стартовых ассетов. Запускаем Unity Hub, выбираем в представленном списке 3D Core, задаем название проекта, папку с расположением и жмем Create project;

Unity Hub 3.3.0 и Editor 2021.2.19f1
Unity Hub 3.3.0 и Editor 2021.2.19f1

2. Базовая настройка.

В открывшемся окне программы жмем Edit > Project Settings... Выбираем вкладку XR Plug-in Management и устанавливаем его нажав на единственную кнопку.

Ставим галочку у Open XR во вкладке "ПК", соглашаясь на смену системы ввода и перезапуск юнити. Во вкладке "Андройд" ставим галочку у Oculus.

-3

Затем делаем двойное нажатие на желтый треугольник возле Open XR, откроется предупреждение что нет ни одного профиля для VR-контроллеров. Нажимаем Edit.

-4

В открывшейся подвкладке устанавливаем Render Mode на Multi Pass и нажатием на плюсик, добавляем используемые профили контроллеров.

Самые распространенные это контроллеры Oculus Touch, HTC Vive и Valve Index.

профили контроллеров
профили контроллеров

После добавления профилей контроллеров, закрываем Project Settings

3. Импорт XR Interaction Toolkit

В основном окне Unity находим Window > Package Manager.

В открывшемся Package Manager, жмем плюсик, выбираем Add package from git URL... и вводим "com.unity.xr.interaction.toolkit" и жмем add.

В данном примере мы создаем пустой проект с нуля, поэтому жмем "I Made a Backup, Go Ahead!"

Во вкладке с только что импортированным пакетом, раскрываем Samples и импортируем Starter Assets, там находятся несколько скриптов которые сэкономят массу времени в будущем.

-6

3. Настройка XR Interaction Toolkit

В основном окне Unity находим папку в которую был импортирован Starter Assets в предыдущем шаге. Здесь нас ожидают пресеты на плавное передвижение, поворот и т.п.

-7

Добавляем все эти пресеты в Preset Manager. Ничего страшного, если у вас меньше пресетов чем у меня, юнити постоянною обновляют XR Toolkit/

-8

Затем в меню юнити идем Edit > Project Settings... Preset Manager и добавляем фильтры к контроллерам.

-9

4. Собираем сцену

Для добавления объектов на сцену, нажимаем правой кнопкой мыши по пустой области в окне Hierarchy.

-10
  1. Добавляем Terrain
  2. Добавляем игрока, XR > XR Origin (VR)

В окне Hierarchy выбираем Main camera(если есть) и удаляем ее, затем выделяем Terrain и в окне Inspector устанавливаем Transform Position на X -500, Y 0, Z -500. Так игрок окажется в центре террейна, который представляет собой землю. Следом выбираем XR Origin и ставим Transform Position на 0 во всех ячейках кроме Scale.

-11

Затем выбираем XR Interaction Manager и в окне Inspector нажимаем Add Component и добавляем Input Action Manager. В Input Action Manager добавляем Action Assets.

-12

-13

На данном этапе уже можно запустить игру и осмотреться внутри юнити, помахать руками, но сделать пока ничего не получится.

-14

5. Добавляем возможностей

  • Передвижение

Нажимаем на пустое поле в окне Hierarchy правой кнопкой мыши, XR > Locomotion System (Action-based). Выделяем Locomotion System и в окне Inspector снимаем галочки с Teleportation Provider и Stap Turn Provider. Первый отвечает за телепортацию в определенной зоне или в определенное место, а второй отвечает за поворот персонажа на определенный градус. Оба я обычно не использую.

Вместо них добавляем Continuous Move Provider (Action-based) и Continuous Turn Provider (Action-based).

-15
  • Взятие объектов в руки

Добавляем на сцену куб сбрасываем позицию куба на 0 по всем осям и добавляем кубу компонент XR Grab Interactable.

6. Результат

-16