Видео 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 можно на странице требований к устройствам и платформам.