Оглавление:

Приложение 360 VR за 10 минут с Unity: 8 шагов
Приложение 360 VR за 10 минут с Unity: 8 шагов

Видео: Приложение 360 VR за 10 минут с Unity: 8 шагов

Видео: Приложение 360 VR за 10 минут с Unity: 8 шагов
Видео: Мастер-класс по Unity + SteamVR. Как создать VR приложения в Unity используя SteamVR. Михаил Можаев 2024, Ноябрь
Anonim
Приложение 360 VR за 10 минут с Unity
Приложение 360 VR за 10 минут с Unity

Как мы создаем это приложение?

В отличие от обычного видео с прямоугольным кадром, 360-градусное видео имеет форму сферы. Итак, сначала нам нужно создать сферический экран, на который будет проецироваться наше 360-градусное видео. Игрок (или зритель) будет находиться внутри этой сферы и сможет смотреть видео в любом направлении. Приведенные ниже шаги должны дать вам почувствовать себя уполномоченными вносить свои собственные изменения, объяснив, как все это работает под капотом. Пошаговые инструкции

Шаг 1. Что вам нужно

Что вам нужно
Что вам нужно

Телефон Android с гироскопом для определения движений головы, работающий на KitKat или более новой ОС.

Картонный гарнитур. Если у вас его нет, вы можете найти много на Amazon менее чем за 10 долларов.

Unity3D, кроссплатформенный игровой движок, который необходимо установить на свой компьютер, версии 5.6 или новее. Мы будем использовать это программное обеспечение для создания всего нашего проекта.

SDK GoogleVR для Unity, который вы можете скачать заранее.

360-градусное видео. Снимайте на камеру 360 °, или вы можете найти 360-градусное видео на Youtube, Facebook или Any 360 Video Website

Шаг 2: построить сферу

Построить сферу
Построить сферу

Во-первых, давайте откроем новый проект Unity, если вы начинаете с нуля (или новую сцену, если вы хотите интегрировать видеопроигрыватель 360 в существующий проект). Думайте о сцене как об одном уровне видеоигры, а о проекте как о полная игра.

После этого добавьте сферический объект в Сцену, расположенный в ее центре (Позиция = 0, 0, 0), с радиусом 50 (Масштаб = 50, 50, 50). Положение камеры также должно быть установлено на 0, 0, 0. Камера - это глаза игрока / зрителя, поэтому мы хотим, чтобы она находилась в центре сферы. Если разместить его в другом месте, видео будет выглядеть искаженным. Как только камера помещается внутрь сферы, последняя больше не видна в сцене. Не волнуйтесь, этому есть объяснение! Действительно, большинство игровых движков по умолчанию не визуализируют внутреннюю сторону 3D-объектов. Это потому, что нам редко нужно их видеть, это было бы пустой тратой ресурсов на их рендеринг. Мы исправим это дальше.

Шаг 3: переверните нормали сферы

Переверните нормали сферы
Переверните нормали сферы

В нашем случае нам действительно нужно увидеть нашу Сферу изнутри. В этом весь смысл приложения, поэтому мы вывернем его наизнанку.

В Unity сферы на самом деле не являются сферами (что? Нас все время лгали!), Это многоугольники, состоящие из тысяч крохотных граней. Видны внешние стороны граней, но не внутренние. По этой причине мы собираемся сделать программу, которая переворачивает эти маленькие грани, как блины. В трехмерной геометрии мы называем это преобразование «обращением нормалей» или «обращением нормалей». Мы воспользуемся программой под названием Shader, которую применим к Материалу Сферы. Материалы контролируют внешний вид объектов в Unity. Шейдеры - это небольшие скрипты, которые вычисляют цвет каждого отображаемого пикселя на основе освещения и информации, полученной из их Материалов. Следовательно, создайте новый материал для сферы, а затем новый шейдер, применяемый к этому материалу. Нам нужно написать собственный код для шейдера … но не бойтесь, вы можете скопировать и вставить код ниже:

Щелкните эту ссылку для перехода по ссылке на код

Этот маленький шейдер будет выворачивать каждый пиксель сферы наизнанку. Теперь наша Сфера выглядит как большой белый шар, если смотреть изнутри в нашей Сцене. Следующий шаг - превратить эту белую сферу в видеоплеер.

Шаг 4: спроецируйте свое панорамное видео внутри сферы

Здесь нужно иметь под рукой видео в формате 360 mp4. Импортируйте его в проект, затем перетащите в Сферу. И тут происходит волшебство: появляется компонент «Видеопроигрыватель», бум, видео готово к воспроизведению. Вы можете играть с такими настройками, как циклы и аудио. Он также поддерживает потоковую передачу!

Шаг 5. Настройте Google Cardboard?

На этом этапе мы сделаем так, чтобы опыт действительно захватил. Вот почему мы хотим просматривать его в гарнитуре VR, здесь - в Google Cardboard.

Мы собираемся создать «стереоскопический» вид (экран будет разделен на две части с некоторыми эффектами «рыбий глаз» с обеих сторон - по одной стороне для каждого глаза), используя GoogleVR SDK. Эффект рыбьего глаза на каждом глазу в сочетании с искажением пластиковых линз Cardboard - вот что дает вам иллюзию глубины и погружения.

Чтобы добавить SDK GoogleVR в наш проект, загрузите и импортируйте плагин, затем мы изменим несколько настроек Android:

  • Перейдите в меню верхней панели> Файл> Параметры сборки. Добавьте открытую сцену, если она еще не добавлена, затем выберите Android в списке поддерживаемых платформ.
  • Нажмите на Switch Platform. Первое переключение займет некоторое время.
  • Щелкните «Настройки проигрывателя». Компоненты появятся на панели инструктора.

В Инструкторе настроек проигрывателя в разделе «Другие настройки»:

  • Проверьте, поддерживается ли виртуальная реальность. В разделе SDK виртуальной реальности щелкните значок +, затем выберите Картон, чтобы добавить его в список.
  • Введите имя пакета в поле Идентификатор пакета (например, com.yourdomain.demo360). Он должен быть уникальным и использоваться, чтобы отличать наше приложение от других в магазине Google Play.
  • Установите в раскрывающемся меню «Минимальный уровень API» значение «Android 4.4« Kit Kat »(уровень API 19)».

После этого возьмите элемент «GvrViewerMain» из папки GoogleVR / Prefabs в Диспетчере проектов и перетащите его в сцену. В Инспекторе задайте то же положение, что и центр сферы - (0, 0, 0).

Префаб GvrViewerMain управляет всеми настройками режима VR, такими как адаптация экрана к линзам Cardboard. Он также связывается с гироскопом вашего телефона, чтобы отслеживать движения вашей головы. Когда вы поворачиваете голову, камера и то, что вы видите, также поворачиваются внутри видеоплеера 360. Теперь вы можете смотреть во всех направлениях, когда видео включено, а экран разделен на две части, чтобы разместить обе линзы Cardboard.

Шаг 6. Запустить приложение на Android?

Запустить приложение на Android?
Запустить приложение на Android?

На последнем этапе мы запустим приложение на телефоне Android и поделимся им с друзьями! Это можно сделать двумя способами: вернуться в меню "Файл"> "Настройки сборки". Вы можете подключить телефон Android с помощью USB-кабеля к компьютеру и нажать «Сборка и запуск». Это установит приложение прямо на ваш телефон. Другой вариант - нажать кнопку «Только сборка». Это не устанавливает его на телефон, а вместо этого создает файл APK. Вы можете поделиться APK по электронной почте со всеми, кто хочет попробовать только что созданный шедевр. Им нужно дважды нажать на вложение APK, чтобы установить его на свои телефоны. В процессе сборки вам может быть предложено выбрать корневую папку Android SDK. В этом случае загрузите Android SDK и выберите его папку. Запустите приложение, вставьте телефон в гарнитуру Cardboard, готово! Вы можете заменить видео на что угодно в формате 360 и испытать погружение в VR 360 дома.

Идти дальше

Поздравляем, вы создали приложение для панорамного видео и находитесь в одном шаге от создания приложения для видео VR! Хотя эти термины часто используются одинаково, 360 и VR определяют два разных опыта: 360-градусное видео записывается со всех сторон, с помощью специальной камеры или набора из нескольких камер. Пользователь может смотреть в любом желаемом направлении, но при этом нет интерактивности. VR обычно относится к компьютерной среде, в которую погружен пользователь. Это интерактивный опыт: игрок может перемещаться и управлять объектами, а также смотреть во все стороны.

Шаг 7:

Ваше новое приложение может послужить отправной точкой для создания более насыщенных впечатлений от виртуальной реальности. В Unity есть множество функций, которые вы можете использовать, например, добавление трехмерных элементов или классных эффектов частиц ✨ для наложения и улучшения вашего видео или добавление некоторых интерактивных элементов.

Шаг 8: скрипт не пошаговой ходьбы (необязательно)

Вы также можете поместить в 360-градусный видеопроигрыватель полноценную трехмерную среду и использовать его в качестве скайбокса. Пользователь может перемещаться по местности с помощью этого изящного сценария ходьбы.

Рекомендуемые: