#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 со смартфона). На счет кнопок чтобы перейти в дргугие панорамы: я думаю возможно сделать мэппинг кнопок к соотвествующему месту на фото, напрмер таже ручка двери. Надеюсь хоть чем то помог.
Комментариев нет:
Отправить комментарий