Обзор платформы ARCore от Google
Прямо сейчас разрабатываются сотни проектов использования AR в быту, появляются тысячи стартапов. Дополненная реальность может внедряться везде, и не только с условием использования смартфона. Автопроизводители создают лобовые стекла авто с AR для водителей и боковые – для пассажиров.
Для пилотирования военной техники уже созданы шлемы с добавлением полезной информации, но намного интереснее новые разработки. Так, Amazon в 2018 г. запатентовала «умное» зеркало с AR, компания Realfiction адаптирует новую технологию для 64-дюймовых экранов.
Дополненная реальность сейчас используется в таких отраслях:
- медицине;
- полиграфии;
- киноиндустрии;
- компьютерных играх.
Однако наибольшее развитие получили мобильные технологии на базе специализированных платформ.
За год от «беты» до версии 1.2
Меньше года прошло с момента анонса до появления уже второй версии платформы ARCore. Летом 2017 г. началось тестирование, а финальный вариант запустили в начале 2018 г. Сейчас каждый разработчик способен создавать и размещать приложения для ARCore в Google Play, и за несколько месяцев появились сотни программ самой разной направленности.
Очень крутое приложение Samsung Ар-зарисовка Ar-зарисовка в AR-Zone
Работает дополненная реальность в «гугловском» варианте на базе Android и является своеобразным ответом на появление конкурента – платформы ARKit от Apple. «Яблочные» успели раньше, представив одиннадцатую iOS в сентябре 2017, но значительно обогнать конкурентов им не удалось. Если учесть, что Google позволяет выставлять готовые приложения для ARCore в Google Play, то особого преимущества компания Apple не получила.
Как это работает?
Платформа работает на седьмой версии Android, используя встроенные возможности телефонов. Программа ARCore формирует дополненную реальность на основании трех принципов:
- анализа освещенности;
- контроля движения;
- осознания и опознавания реального окружения.
Что это на деле? Созданный в пространстве «виртуальный» объект реагирует на изменения освещенности и способен отбрасывать тень. Колебания гаджета не изменяют положения этого объекта, когда он уже зафиксирован программой. Также программа определяет габариты, углы наклона горизонтальных поверхностей, на которые можно устанавливать новые «дополненные» фигуры.
Для определения параметров физических объектов используется камера телефона. Она определяет ключевые точки пространства, точнее, их высчитывают программные средства при помощи камеры, а данные передает блок инерциальных измерений.
Эта же система применяется для определения горизонтальных поверхностей, после чего создаваемые объекты надежно привязываются к столам, полочкам и другим поверхностям. После закрепления AR-объект становится частью реального мира, и можно перемещать смартфон без опасения потерять созданную фигуру.
Удобство для разработчиков
Специалисты Google позаботились о том, чтобы разработчики смогли без чрезмерных усилий создавать сайты с AR-контентом. Для удобства приложения дополненной реальности можно писать на привычных языках HTML и Java. Важно, что элементы этих специализированных сайтов будут воспроизводиться на Android и iOS, а работает платформа ARCore с Unity, Unreal и Java/OpenGL.
Поддерживаемые гаджеты
Пока что не все владельцы смартфонов на Android смогут установить и испробовать систему дополненной реальности, но большинство новых моделей будет ее поддерживать. О готовности установки платформы ARCore заявили:
- Samsung;
- Motorola;
- Huawei;
- ASUS;
- Xiaomi и др.
Прямо сейчас дополненную реальность поддерживают такие телефоны:
- Samsung Galaxy S8, S8+, Note 8, S7;
- LG V30 и V30+;
- Google Pixel;
- Asus Zenfone AR и OnePlus 5.
Как выглядит «новая» реальность?
Новая, а точнее дополненная реальность чрезвычайно увлекательна, и владельцы определенных моделей телефонов активно пользуются AR-приложениями. Их еще не миллиарды, но сотни тысяч людей пробуют игры и прикладные программы на платформе ARCore.
Одно из полезных приложений – программа для размещения предметов мебели в любом помещении. Телефон определяет параметры комнаты, после чего внедрение объектов становится простым и увлекательным занятием. Полезно и то, что программа использует параметры и дизайн реально существующих предметов мебели, и можно сразу делать заказы в онлайн-магазинах.
Развлечений при помощи дополненной реальности появилось великое множество. Например, расстреливать зомби намного веселее на фоне своего дома или квартиры, ведь можно почувствовать себя участников фильма про восставших мертвецов. Игры необязательно такие мрачные, есть, например, крестики-нолики для двух участников с AR-телефонами, когда сетка из клеток рисуется прямо в пространстве между ними, а крестики можно сделать любого удобного размера.
В ближайшем будущем можно будет разместить на столе баскетбольную площадку или теннисный корт, чтобы наблюдать в реальном времени трехмерную проекцию любого матча, где используется соответствующее оборудование для трансляции. Возможностей невероятно много, и это уже доказали разработчики, активно продвигающие новые AR-приложения.
Примеры приложений
Пользователям надо поставить вначале платформу ARCore, а потом приступать к выбору приложений. Все программы доступны в Play Market, главные требования – Android от седьмой версии и определенные модели телефонов. Не все AR-приложения сразу получаются удачными, а ниже приведен список самых популярных на данный момент.
- Army of Robots. Классический шутер от первого лица, когда игрок видит свои руки, держащие оружие. Уничтожать надо роботов, появляющихся благодаря приложению в любом помещении. Геймер задорно расстреливает противников с двух рук, уклоняясь от их выстрелов.
- Brickscape. Логическая игра, где нужно перемещать трехмерные объекты. В большом кубе отмечено лишь одно отверстие, куда может проскользнуть фигура, отличающаяся от других объектов. Уровень проходится, когда геймер освобождает путь для фигуры.
- Slingshot Island. Чрезвычайно увлекательная «стрелялка», в которой надо бомбить замок из рогатки-катапульты. Замок и катапульту создает приложение, а игроку надо прицелиться и отправить снаряд в тыл врага, где взрыв уничтожает постройки, подрывает башни и т.п.
- Solar System. Приложение позволяет рассмотреть трехмерную модель солнечной системы прямо на полу комнаты или на столе.
- Atom Visualizer. Простая, но полезная программа для просмотра свойств атомов. Дополненная реальность дает возможность увидеть атомные ядра, протоны и нейтроны, а также движение электронов по орбитам.
Дополненная реальность и платформа ARCore в частности – очередной шаг в невероятно увлекательное будущее, причем увидеть работу инновации вскоре сможет каждый владелец нового смартфона. Важно и то, что AR-приложения помогают не только развлечься, но и обучиться чему-либо в игровой форме. Скорее всего, уже через несколько лет люди будут использовать AR, не представляя, как можно было обходиться без приложений дополненной реальности.
Cкопировано из сайта vr-j.ru
Источник: vr-j.ru
Ar зарисовка что это за программа
Устройства виртуальной реальности
Устройства VR/AR классифицируются по степени свободы (DOF или Degrees of freedom), т.е. по способу перемещения объекта. Тут есть два варианта: 3-DOF и 6-DOF. Три степени свободы означают, что вы сможете взаимодействовать с виртуальным миром в трех измерениях (в системе координат X, Y, Z) с помощью головного дисплея (HMD), но не сможете двигаться вперед или назад. С шестью степенями свободы двигаться получится во всех шести направлениях.
Эти устройства поддерживают три степени свободы:
А у этих шесть степеней свободы:
Под каждое устройство используются разные SDK и языки программирования, у них разные ограничения, но есть и общие черты:
- Принципы создания виртуальной реальности.
- Большинство из них совместимы с контроллерами движений для взаимодействия с виртуальным миром.
- Устройства 3-DOF используют смартфоны в качестве закрепленных на голове дисплеев.
- Устройства 6-DOF используют настольные гарнитуры.
На этом этапе нужно выбрать одно или несколько устройств для разработки.
Лучше начать с более простого варианта и только разобравшись со всеми нюансами переходить к сложному.
Движки 3D-игр и языки программирования
Опыт предыдущих лет показывает, что чаще всего для разработки продуктов AR/VR используются C# и C/C++ . Это справедливо и для основных игровых движков, которые вам нужно изучить:
- Unity – для работы с ним потребуется язык программирования C#.
- Unreal Engine – здесь нужен C++ и язык узлов под названием Blueprints Visual Scripting.
Все устройства VR имеют SDK для обоих движков, поэтому вы можете выбрать любой из них для разработки приложений. Досконально изучить эти игровые движки непросто: большинство специалистов рекомендуют осваивать Unity из-за большего количества учебных ресурсов. С другой стороны, Unreal может предложить вам лучшую графику и большую мощность.
У Unity множество версий с разной стоимостью, но есть и бесплатная. Unreal доступен бесплатно, но требует периодических отчислений за право пользования в размере 5% от валового дохода продукта (после $1,000,000 за игру в календарный квартал). Рекомендуется попробовать оба варианта, чтобы выбрать наиболее подходящий.
Google предоставляет SDK для Android (на Java) и iOS (на Objective-C) при разработке для устройств Daydream и Cardboard.
3D-модели
Первое, что вам понадобится для разработки AR/VR – это 3D-модели. Есть два варианта: сделать их самостоятельно или использовать готовые шаблоны. Самостоятельное создание моделей – сложный путь, но в конечном итоге он может оказаться самым лучшим и рентабельным. В этом случае вам придется освоить специальные программы. Например, такие:
Для создания собственных моделей стоит освоить и 3D-сканирование . Снятые специальным сканером в реальном мире объекты становятся виртуальной трехмерной моделью. Эти устройства пока не идеальны, но они помогут вам начать работу:
В интернете всегда можно найти и шаблонные 3D-модели:
Этот вариант подходит начинающим разработчикам без навыков.
Для работы с видео и фотографиями в формате 360° (они обязательно потребуются вам в виртуальной реальности) необходимо также приобрести подходящую камеру, вроде RICOH THETA или Samsung Gear 360. Готовые варианты панорамных фото и видеороликов нетрудно найти на Flickr или в других стоковых файлообменниках. По звуковым эффектам никаких ограничений нет.
Веб-разработка и виртуальная реальность
Существует также открытый стандарт WebVR с API JavaScript , позволяющий использовать виртуальную реальность в браузере. Он работает с большинством устройств VR без необходимости подключения дополнительных плагинов. Вы можете проверить наличие поддержки браузера на WebVR Rocks и найти дополнительную информацию на сайте Mozilla VR .
Использование этого стандарта является хорошей альтернативой применению игровых движков.
Стоит упомянуть два фреймворка:
- aframe.io предназначен для создания виртуальной реальности с помощью HTML и подхода Entity-Component-System . Он был разработан командой Mozilla VR и предоставляет один из самых эффективных способов разработки контента WebVR.
- React VR – новая библиотека, разработанная в Facebook на основе React и React Native . Она позволяет создавать сайты VR, используя тот же подход декларативных компонентов, что и в привычном нам фреймворке React.
Поскольку оба инструментария основаны на Three.js (самой популярной библиотеке Javascript для использования трехмерной графики в браузере), знание этой библиотеки даст вам прочную основу.
Дополненная реальность
VR и AR – разные понятия. Виртуальная реальность предполагает создание иммерсионной среды, заменяющей реальный мир. Дополненная реальность добавляет слои данных в реальный мир, а не заменяет его. Можно, например, переводить иностранные слова, которые видит пользователь или показать ему каких-нибудь монстров в физической локации. Виртуальная реальность сама переносит пользователя в мир монстров.
С точки зрения разработки VR и AR очень похожи, поэтому существует понятие смешанной реальности , когда вы взаимодействуете как с физической, так и с виртуальной средой.
Одним из самых популярных инструментов для разработки AR является Vuforia: он доступен для Unity, Android и iOS, предлагает огромное количество функций и поддерживает множество устройств , включая телефоны Tango , head-display, смартфоны, очки, а также специально изготовленные козырьки Microsoft HoloLens .
Проблемы
Первая проблема связана с новизной индустрии AR/VR – существует не так много передовых практик для разработки приложений. Еще один недостаток VR – это укачивание. При длительном использовании устройства у людей может возникнуть дезориентация, вызванная неестественными движениями. Возникает она из-за несоответствия между физическими и визуальными сигналами к действию.
Чтобы стать разработчиком AR/VR, необходимо пройти несколько этапов:
- Выбор платформы. Решите, какими устройствами вы будете пользоваться, на какие платформы ориентироваться и какой игровой движок, SDK или фреймворк предпочтете освоить.
- Обучение. Разберитесь с терминологией. Изучите 3D-моделирование, язык игрового движка, SDK или фреймворка, а также разработку интерфейсов для AR/VR.
- Учебный проект. Хотя большинство приложений AR/VR являются игровыми, есть много областей, на которые можно ориентироваться. Например, образование, визуализация данных, возможности 360°.
- Участие в сообществах. Ходите на встречи, общайтесь в форумах и чатах, переписывайтесь с другими разработчиками и не стесняйтесь задавать вопросы. Главное здесь – практиковаться и набираться опыта.
Несколько полезных ссылок для изучения технологий AR/VR:
- https://unity.com/ru/solutions/ar-and-vr-games – ПО для разработки дополненной и виртуальной реальности;
- https://www.uxofvr.com/ – пользовательский опыт в AR/VR;
- https://github.com/ExtendRealityLtd/VRTK – набор инструментов для VR-разработки в Unity3D;
- https://www.artefactgroup.com/case-studies/storyboard-vr/ – инструмент прототипирования, позволяющий визуализировать опыт в виртуальной реальности;
- Гайд по виртуальным мирам: AR и VR.
Выводы
Технологии AR/VR пока сыроваты. Они имеют массу ограничений, да и оборудование стоит недешево. Тем не менее, потенциал виртуальной и дополненной реальности огромен, а большинство специализирующихся в этой области профессиональных разработчиков не имеет большого опыта.
К тому же некоторые из приобретенных в процессе освоения модного направления навыков (например, языки C/C++) можно применить и в других областях программирования. Попробовав, вы ничего не теряете. Удачи!
Источники
- https://developers.google.com/vr/
- https://mozvr.com/
- https://blog.pusher.com/how-you-can-become-an-ar-vr-developer/
Источник: proglib.io
Технология дополненной реальности AR
Дополненная реальность – одна из многих технологий взаимодействия человека и компьютера. Ее специфика заключается в том, что она программным образом визуально совмещает два изначально независимых пространства: мир реальных объектов вокруг нас и виртуальный мир, воссозданный на компьютере.
Новая виртуальная среда образуется путем наложения запрограммированных виртуальных объектов поверх видеосигнала с камеры, и становится интерактивной путем использования специальных маркеров.
Дополненная реальность уже много лет используется в медицине, в рекламной отрасли, в военных технологиях, в играх, для мониторинга объектов и в мобильных устройствах.
Основа технологии дополненной реальности – это система оптического трекинга. Это значит, что «глазами» системы становится камера, а «руками» — маркеры. Камера распознает маркеры в реальном мире, «переносит» их в виртуальную среду, накладывает один слой реальности на другой и таким образом создает мир дополненной реальности.
Существуют три основных направления в развитии этой технологии:
«Безмаркерная» технология AR
«Безмаркерная» технология работает по особым алгоритмам распознавания, где на окружающий ландшафт, снятый камерой, накладывается виртуальная «сетка». На этой сетке программные алгоритмы находят некие опорные точки, по которым определяют точное место, к которому будет «привязана» виртуальная модель. Преимущество такой технологии в том, что объекты реального мира служат маркерами сами по себе и для них не нужно создавать специальных визуальных идентификаторов.
AR технология на базе маркеров
Технология на базе специальных маркеров, или меток, удобна тем, что они проще распознаются камерой и дают ей более жесткую привязку к месту для виртуальной модели. Такая технология гораздо надежнее «безмаркерной» и работает практически без сбоев.
«Пространственная» технология
Кроме маркерной и безмаркерной, существует технология дополненной реальности, основанная на пространственном расположении объекта. В ней используются данные GPS/ГЛОНАСС, гироскопа и компаса, встроенного в мобильный телефон. Место виртуального объекта определяется координатами в пространстве. Активация программы дополненной реальности происходит при совпадении координаты, заложенной в программе, с координатами пользователя.
Стараясь исключить технологические риски и обойти проблемные моменты, при разработке прототипа программного комплекса, мы остановили свой выбор на надежной и проверенной маркерной технологии дополненной реальности.
Так же, использование маркерной технологии имеет дополнительные преимущества в плане внедрения в методическую часть наглядных печатных материалов, используемых в общеобразовательных учреждениях при изучении конкретной темы и проведении практических работ по ней.
Примеры приложений с AR технологиями
Живая полиграфия с AR
Промо-приложение и брендирование сок «Добрый»
Раскраски с дополненной реальностью
Funreality – Платформа дополненной реальности
Селфи-маски в дополненной реальности
Визуализация скрытых объектов
Маркерная AR навигация внутри помещений
Игра-квест «Монте-Кристо» AR
Живой печатный учебник
AR design studio
Руководство пользователя с дополненной реальностью
Оборудование для AR технологий
Для работы с технологией дополненной реальности обязательно необходимы следующие компоненты:
- Графическая станция. Это может быть мобильный телефон, ноутбук, персональный компьютер, графическая рабочая станция с профессиональной видеокартой. Одним словом, компьютер.
- Дисплей. Экран телефона, телевизор, монитор, моно или стерео дисплей, проекционный экран.
- Камера. Благодаря камере мы получаем «слепок» реального мира, на который специальное программное обеспечение накладывает виртуальные объекты.
- Метки, или маркеры.
- Программное обеспечение. Математические алгоритмы, которые позволяют камере увидеть и распознать метку (маркер) в окружающем пространстве, а затем определить, какая именно модель программно «привязана» к метке. И, наконец, «положить» эту модель на метку таким образом, чтобы виртуальный 2D или 3D объект повторял любое движение реальной метки.
Технология дополненной реальности это, в основе своей, программное обеспечение. То есть это специальные математические алгоритмы, которые связывают камеру, метки и компьютер в единую интерактивную систему.
Основная задача системы – определить трехмерное положение реальной метки по ее снимку, полученному с помощью камеры. Процесс распознавания происходит поэтапно. Сначала снимается изображение с камеры. Затем программа распознает пятна на каждом кадре видео в поисках заданного шаблона – рамки метки.
Поскольку видео передается в формате 2D, то и найденная на кадре рамка метки определяется как 2D контур. Как только камера «находит» в окружающем пространстве рамку, ее следующая задача – определить, что именно изображено внутри рамки. Как только сделан последний шаг, задача системы – построить виртуальную 3D модель в двухмерной системе координат изображения камеры. И привязать ее к метке.
После этого, как бы мы ни передвигали метку в реальном пространстве, виртуальная 3D модель на ней будет точно следовать за движением метки.
К сожалению, маркерная технология, как и любая другая технология, имеет ряд возможных проблем в работе с метками. Бывает, что при движении метки объект может «соскочить» с нее или вовсе исчезнуть с экрана. Это означает, что камера просто перестала «видеть» метку. Есть пять основных причин для этого.
Первое, в чем может заключаться проблема, это освещение. Затемненная зона, слишком яркое направленное освещение, лампа дневного света, светочувствительность камеры, — все эти параметры напрямую влияют на уровень распознавания метки.
Вторая проблема – это расположение реальной метки в пространстве по отношению к камере. Поскольку камера должна четко и целиком видеть рамку метки, она не сможет распознать ее, если метка будет под наклоном или если область рамки будет закрыта, например, рукой. Еще одна причина – слишком быстрое перемещение метки из стороны в сторону. Большинство любительских камер просто не успевает отследить ее перемещения по частоте кадров в секунду и «теряет» метку вместе с моделью.
Если первые две сложности легко устранить, просто следуя инструкции по применению, то есть и третья, более серьезная проблема. Она связана с калибровкой камеры. Калибровка нужна, чтобы построить модель реальной камеры в компьютерном пространстве.
Для того чтобы добавить перспективу и глубину в 2D картинку, которая отображается с камеры на экран, нужно определить параметры перспективной проекции для камеры. Это можно сделать в домашних условиях, используя «шахматную доску» и специальное программное обеспечение.
Еще одна проблема, которая часто относится к web-камерам, — это низкое разрешение камеры. Любительская оптика, тем более встроенные камеры на ноутбуках, как правило, не обладают хорошими объективами с высоким разрешением. Поэтому они дают больше нелинейных искажений и проблем в работе с метками дополненной реальности. Например, если метка будет находиться слишком далеко от камеры или на границе ее видимости, то последняя ее просто «не увидит». Этот вопрос решается покупкой камеры с более высоким разрешением и ее последующей калибровкой.
И последняя проблема – это программное обеспечение. Некоторые алгоритмы распознавания могут иметь ошибки и давать погрешности во время распознавания рамки и «чтения» картинки метки. В этом случае модели могут отображаться некорректно (например, на метке с совой может появиться совсем другой объект) или вовсе исчезать с экрана.
Аппаратная часть, для реализации базовых функций технологии дополненной реальности должна решать 3 основных задачи: получать видеопоток хорошего качества, иметь возможность обработать данный видеопоток и дополнить слоем с виртуальными объектами и, конечно же, вывести обработанные данные на устройства вывода для восприятия конечным пользователем.
Источник: funreality.ru
12 AR-приложений для путешественников
В сфере туризма и путешествий AR-приложений за эти годы тоже было создано огромное количество, и постоянно появляются новые. Рассказываем о проектах, которые нам нравятся.
Google Lens
Google исполнил мечты многих и многих туристов предыдущих поколений: он создал приложение, которое при наведении камеры в AR-режиме автоматически переводит надписи и знаки и при необходимости их гуглит. Незаменимо для стран, где не принято дублировать надписи по-английски (все, кто бывал в Грузии и не мог выучить местный алфавит, это подтвердят).
Кстати, в семье Google есть еще одно приложение с AR-переводом – Google Translate.
Google Maps
«Дополненная реальность» не обошла стороной и это приложение, известное большинству пользователей Андроида. Встроенная в нем функция Live View даже в самом незнакомом городе будет давать вам советы (голосом и мультипликационными стрелочками) о том, как дойти из точки А в точку Б.
Ориентироваться программа будет не только по геолокации, но и по совпадению окружающего вас пейзажа с данными Streetview.
Kabaq
К русскому слову «кабак» название отношения не имеет, но по сути кое-какое совпадение есть: это приложение помогает визуализировать еду в ресторане.
Работает как IKEA Place, только не с мебелью, а с ресторанными деликатесами: выбрал опцию из меню – и тарелка сразу появилась у тебя на столе (разумеется, виртуально). Можно рассмотреть, насколько велика порция и нравится ли тебе оформление. Годится для всякого капризного горожанина, ну а для придирчивого туриста – прямо мастхэв.