Видео 360

Разработка проекта с использованием технологии Видео 360

Панорамные фото и видео 360° - формат проектов в конструкторе EV Toolbox, которые погружает человека в сюжет с различной степенью интерактивности, где пользователю доступна возможность самостоятельно определять ракурс просмотра.

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

Важно

Разработка проектов с использованием видео и фотопанорам формата 360° доступна только в конструкторе EV Toolbox версий Advanced и Advanced Edu.

Пример базового проекта video360 можно загрузить через веб-сервис для хостинга IT-проектов и их совместной разработки GitHub в репозитории evtoolbox. Данный проект можно использовать в качестве основы при разработке проектов с использованием видео и фотопанорам формата 360°.

В проекте представлена базовая сцена со сферой, которая используется в качестве объекта - основы. Видео формата 360° или фотопанорамы будут «накладываться» на внутреннюю часть сферы для реалистичного опыта погружения.

Примечание

Число сфер в проекте зависит от количества сцен и локаций, которые разработчик хотел бы показать пользователю в своем проекте. Таким образом числе сфер в сцене может быть больше одной.

Переключение между сферами (локациями) можно организовать с использованием объекта Манипулятор камеры (CameraManipulatorBaseReactor) (смена манипулятора камеры) и нажатий на кнопки контроллера.

Наложение видео формата 360° или фотопанорам на внутреннюю поверхность сферы осуществляется с использованием скрипта на языке Lua. Скрипт позволяет определить корректные координаты наложения видео или фотопанорамы на геометрию сферы.

Пример кода для использования видео 360 при создании VR проекта с панорамой

-- Определение локальных переменных для одной сферы и одного видео формата 360, которое будет размещено на внутренней поверхности сферы

local sphere    = reactorController:getReactorByName("sphere_equirectangular")
local video360  = reactorController:getReactorByName("video360")


local video360StateSet = video360.image.stateSet

local sphereStateSet = sphere.node:getOrCreateStateSet()
sphereStateSet:setAttributeAndModes(osg.CullFace(), osg.StateAttribute.ON)
sphereStateSet:setMode(GLenum.GL_LIGHTING, osg.StateAttribute.OFF)
sphereStateSet:setMode(GLenum.GL_LIGHT0, osg.StateAttribute.OFF)

local sphereGeometry = EVosgUtil.findNamedClassNode("Sphere001", sphere.node, "Geometry")
sphereGeometry:setStateSet(video360StateSet)


video360:play() -- Запуск проигрывания видео360 на внутренней поверхности сферы

Для использования в проекте видео 360 или фотопанорама должны быть добавлены как объекты проекта: объект Видео (VideoReactor) для видео 360 и объект Изображение (ImageReactor) для использования фотопанорамы на сфере соответственно. Такие объекты должны быть размещены вне сцены проекта (объекты не являются дочерними объектами объекта Сцена (SceneReactor))

Экспортировать проект с панорамными фото и видео 360° можно под проводные и беспроводные шлемы виртуальной реальности. Узнать список VR устройств, под которые можно собрать проект в конструкторе EV Toolbox можно на странице требований к устройствам и платформам.

Загрузить пример базового проекта video360