Страницы

Поиск по вопросам

суббота, 30 ноября 2019 г.

Как сделать виртуальный тур по зданию из панорамных фото?

#android #панорамы #virtualtour


Нужно сделать виртуальный тур по зданию. Например есть длинный коридор с дверьми
в кабинеты.Сделано несколько панорамных снимков 360' как самого коридора, так и кабинетов.
Необходимо сделать обзор этих панорам с возможностью добавления на них кнопок перехода
(на дверях, чтобы зайти в кабинет, либо в продолжении коридора, чтобы перейти к следующей
точке). 

Как такое можно реализовать в Android ?
    


Ответы

Ответ 1



Код в этом посте - продолжение другого ответа про 3d Панораму Решение на WebGL/Three.js, то же самое можно сделать на OpenGL ES или же использовать это решение в WebView. Three.js я взял чтобы не заморачиваться с моделью сферы и ее текстурными координатами. тут это уже реализовано. Берем сферу, выворачиваем её наизнанку, чтобы текстура накладывалась изнутри. Камера находится в центре сцены и вращается при помощи драга мышкой, так же работает зум колёсиком. Для позиционирования активных зон тут используется дополнительная текстура-трафарет, в которой разными цветами-идентификаторами отмечены области. Далее используется color picking - определяются текстурные координаты точки под мышкой, при помощи них берется цвет с текстуры-трафарета и если этот цвет отличается от нуля - значит мы навели на активную зону и можем показать тултип. Названия объектов берутся по ключам, соответствующим цветам активных зон в трафарете. Подсветка осуществляется по примерно такой же логике, но уже во фрагментном шейдере. Если по кликам на зоны менять текстуры, то получится эффект хождения между точками, с которых сняты панорамы. PS. Такой прием (color picking) можно применять в любых 2d/3d приложениях, в том числе и построенных полностью динамически, только и этот трафарет тогда надо в рантайме рисовать, в параллель с основными кадрами. PPS: Привожу ссылки на другие мои ответы, где используется такой же прием, но уже в 2d: java/swing Как определить что произошел клик по изображению... Клик по картинке на js Адаптивный canvas и hover на объекте

Ответ 2



Вам наверняка поможет Matterport - на нем массово делают именно то что описано в задаче - в Штатах и Европе уже целевые студии работают.

Ответ 3



Tango здесь ни причем. Он используется для сканирования местности путем комбинирования техники computer vision и сенсоров телефона. Если я правильно понял то Вам нужен обычный тур по местности с готовыми снимками в 360. Не могу Вам точно сказать как именно этого добиться но я бы копал в сторону библиотек позволяющих манипулировать фотографиями в 360 градусов. С помощью гироскопа можно отлавливать движение устройства и соответсвенно двигать изображение (примерно так работает просмотр видео в 360 градусов на youtube со смартфона). На счет кнопок чтобы перейти в дргугие панорамы: я думаю возможно сделать мэппинг кнопок к соотвествующему месту на фото, напрмер таже ручка двери. Надеюсь хоть чем то помог.

Комментариев нет:

Отправить комментарий