- Особенности AR в iOS и Android
- Предыстория
- Android
- Дополненная реальность
- У дополненной реальности много разных применений.
- Complete Anatomy.
- Snapchat.
- iScape.
- AR Quick Look.
- JigSpace.
- 7 способов использовать дополненную реальность в вашем смартфоне прямо сегодня
- Измерь пространство вокруг себя!
- Сам себе дизайнер!
- Хочу всё знать!
- Навигация к месту назначения
- Создай свой шедевр!
- Общайся с друзьями чаще!
- Что наша жизнь игра? Игра!
Особенности AR в iOS и Android
Статья, скорее всего, не расскажет ничего нового тем, кто давно занимается разработкой приложений с фишкой Augmented Reality, но возможно будет полезна тем, кто интересуется этой темой и близок к написанию AR-приложения.
Предыстория
Немного лирического отступления – что такое AR и почему она стала так популярна на мобильных устройствах.
Когда-то давно, наверное ещё в начале 80-х годов прошлого века, в военные истребители (например, Як-41 — истребитель вертикального взлёта) начали внедрять проекторы, которые проецировали информацию прямо на стекло лобового обзора самолёта. Пилоты очень обрадовались нововведению, т.к. следить за самыми важными показателями таким образом было намного удобнее, чем отрывать взгляд на аналоговые, да пусть даже и цифровые, датчики.
К теме особо не относится, но нам доподлинно известен факт (отец одного из наших сотрудников участвовал в разработке), что в советских Су-27 уже в 1992 году крутились 3D-модельки самолёта с подсветкой узлов. Графический движок был написан на ассемблере, на процессоре в 4 МГц (8086). Показательно, что американцы делали со скрипом то же на 80486 с 66 МГц, так что код наши всегда писать умели.
Позже такие же ИЛС (Индикаторы Лобового Стекла) пришли и в гражданскую авиацию, и в 1990 году один из инженеров Boeing ввёл само понятие “Augmented Reality”.
Много позже, когда в смартфоны пришёл акселерометр и гироскоп, светлой голове пришла идея соединить их с камерой и OpenGL ES – так родилось множество игр, навигационных помощников, но больше всего бюджета в этом направлении расходуется на маркетинговые и промоушн-приложения. Например, вырезав из журнала бумажный каркас для часов, одев его на руку и посмотрев через камеру телефона, пользователь может “примерить” любую марку часов из тех, что рекламирует журнал.
Теперь чисто техническая часть, те небольшие проблемы, с которыми программист столкнётся на самых популярных мобильных платформах.
Версии iOS для iPhone и iPad очень схожи, хотя и различаются по нескольким параметрам. К таким параметрам относится, к сожалению, то, что в iPad OS окно вывода изображения с камеры (UIImagePicker) – обычный UIView, а в iPhone OS – UIViewController. Если в случае с айпадом всё понятно – управляем и ложим его как и любую другую вьюшку, то в айфоне всё немного сложнее – окно ImagePicker-а обязательно должно быть модальным, а добавление вьюшек поверх камеры возможно только используя параметр cameraOverlayView. Т.е. чтобы добавить некое 3D поверх камеры, нужно сделать следующее:
Скорее всего, это анахронизм, оставшийся от iOS 3 и ниже. К каким неудобствам это приводит? К целому списку:
- UIImagePickerController прячет Status Bar. Возвращать его в переходе из режима AR в, например, игровое меню, нужно будет самим. Иначе у вас, в большинстве случаев, поедут на 20 пикселей все вьюшки;
- Невозможно показать изображение с камеры не на весь экран, т.к. превьюшка была сделана под стандартный UIImagePicker, с контролами снизу. И у нас остается только два варианта: делать снизу свои контроллы, либо применять матрицу для трансформации изображения, главное в ней правильно сохранить пропорции изображения;
- Если необходимо сменить изображение камеры, например, на статический фон по нажатию кнопки, это приведёт к целому ряду действий – нужно оборачивать вьюшку со статическим бэкграундом в свой вью-контроллер, убирать UIImagePickerController, добавлять в свою вьюшку оверлэй, живший раньше в cameraOverlayView, и делать present новый вью-контроллер. Так же необходимо не потерять вьюшку в памяти и сделать вовремя retain/release, либо держать её всегда в retain property. Это всё вместо imagePickerView.hidden = YES; как в айпаде, плюс явно медленнее по производительности;
- Ещё можно столкнуться со слишком умными UIButton. Для реализации переключения AR/non-AR режима, код должен был выполняться в экземпляре ViewController, но у UIButton на это свои планы. Если у UIButton был выставлен обработчик нажатия с target – ViewController, то после того как вьюшку изъяли из ViewController и поместили в imagePicker.cameraOverlayView, этот обработчик перестает работать. Видимо UIButton в курсе что target ViewController больше не видим из-за того, что имейдж пикер поверх всего, и не посылает ему сообщений. Пришлось внутренней вьюшке давать указатель на вью контроллер и добавлять промежуточный код, который будет уже дергать непосредственно вью контроллер.
В общем, куча костылей – всегда лучше, когда все стандартные классы – это вьюшки, а вью контроллерами распоряжается только пользователь.
Android
С Android дела обстоят немного иначе.
Превью камеры, точнее SurfaceView, можно поместить во вьюшку любых размеров, и нет необходимости создавать какую-то модальную активити поверх всего. Но без специфичных телодвижений не обошлось. Оказалось, что мы сами должны найти подходящий размер превью (список размеров иногда большой, и может различаться на девайсах от разных производителей, да что там, даже от одного производителя). В поисках оптимального разрешения и пропорции придется перебирать все размеры из возможных вариантов и сравнивать их с размером и пропорцией вью, куда мы хотим поместить это превью в рантайме. Размер превью не всегда будет соответствовать размеру SurfaceView, так что для соблюдения пропорций картинки и получения подходящего размера превью придется делать свой ViewGroup, размещать там SurfaceView, и делать расчеты, что и как размещать в методе onLayout.
Источник
Дополненная
реальность
А что, если границы между воображением и реальным миром не существует? Благодаря технологиям дополненной реальности (AR) это не просто возможно, это уже факт.
Дополненная реальность открывает новые перспективы для работы, учёбы, игр и взаимодействия с окружающим миром. Теперь можно увидеть то, что в реальности невозможно показать или слишком сложно реализовать.
Apple создала крупнейшую платформу для дополненной реальности, в основе которой миллионы устройств с поддержкой AR, а также тысячи приложений в App Store, разработанных специально для дополненной реальности. А так как устройства и программное обеспечение Apple сразу проектируются с учётом технологий AR, то они просто идеально подходят для погружения в дополненную реальность.
У дополненной реальности много разных применений.
Complete Anatomy.
Изучите любую часть человеческого тела, чтобы понять, как она устроена. Технологии захвата движения и сканер LiDAR на iPad Pro скоро позволят физиотерапевтам и пациентам получать статистику улучшения подвижности во время реабилитации.
Snapchat.
Общаться с друзьями в Snapchat станет ещё веселее, если использовать эффекты дополненной реальности. Благодаря сканеру LiDAR iPhone 12 Pro может превратить вашу комнату в волшебный лес: на полу вырастет трава, на столе — цветы, стены оплетёт лоза, а над головой появится бесконечное звёздное небо.
iScape.
Приложение iScape поможет вам визуализировать клумбу вашей мечты. Выберите подходящие растения из сотен различных вариантов, поделитесь результатом с друзьями и вместе составьте идеальное сочетание, прежде чем начинать работу в саду.
AR Quick Look.
Благодаря функции AR Quick Look можно пользоваться возможностями дополненной реальности прямо в Safari, Сообщениях и Почте. Например, прежде чем покупать что‑то в интернете, можно посмотреть в дополненной реальности, как этот предмет будет смотреться в комнате.
JigSpace.
Узнайте, как устроены разные объекты: от двигателя самолёта до кораллового рифа. Всё с помощью трёхмерных интерактивных изображений. Доступны десятки моделей по различным темам: механизмы, наука, космос, история, практика и другие.
Источник
7 способов использовать дополненную реальность в вашем смартфоне прямо сегодня
В последние годы дополненная реальность, или AR, делает большие успехи в области мобильных технологий. Глядя на экран своего смартфона, мы имеем возможность наблюдать реальный мир вперемежку с виртуальным – и это позволяет нам почувствовать то, что уже сейчас мы живем в будущем.
Apple, Google и ещё множество компаний поменьше заняты активным продвижением технологии дополненной реальности. И прямо сейчас мы вам расскажем, что им удалось создать ценой своих усилий и чем вам это полезно.
Измерь пространство вокруг себя!
Если вам нужно узнать высоту дерева или размер вашей кухни, AR поможет вам измерить длину, высоту, ширину и объем каких-либо объектов без долгих поисков рулетки или риска сломать шею, упав со стремянки. Хотя приложения для измерения в технологии AR постоянно совершенствуются, имейте в виду, если вам нужны точные цифры, реальные измерительные инструменты все же надежнее.
К примеру, у Apple и Google есть свои собственные измерительные приложения, которые помогают пользователям iPhone и Android определить размеры окружающих предметов. Apple связывает свое приложение Measure с iOS, в то время как Google предлагает свое одноименное приложение для всех устройств Android, поддерживающих платформу Google ARCore.
Оба приложения работают аналогично. Просто используйте значок «плюс», чтобы установить начальную точку измерения, переместите свой девайс по прямой линии и снова нажмите на значок, чтобы зафиксировать конечную точку измерения. При необходимости коснитесь и перетащите любую из созданных точек, чтобы изменить их положение. А если вы тот человек, который, вероятно, через пять минут забудет только что сделанные обмеры, нажмите на иконку-фото, чтобы сделать снимок для дальнейшего использования.
Сам себе дизайнер!
Известно, что ремонт и дизайн квартиры может стоить не только больших денег, но и нервов. Покупка 20 литров краски, не зная, будет ли она гармонировать с занавесками на вашей кухне, может любого вогнать в стресс. А этот модный и яркий диван, украсит ли он вашу гостиную или так и останется дорогой и неудобной покупкой? AR здесь, чтобы помочь. Эта технология позволит вам просмотреть заранее новые цвета для стен вашего жилища или разместить мебель так, чтобы увидеть, как это будет выглядеть в реальности.
Ikea Place для Android или iOS даёт возможность ознакомиться с обширной коллекцией мебели из каталога шведского магазина товаров для дома. А технология дополненной реальности позволяет увидеть, как предметы мебели будут выглядеть в вашей комнате и сочетаться с интерьером. Это не только избавит вас от покупки того, что вам не нравится, но и от головной боли при сборке мебели.
Если вас когда-либо навещали фантазии о том, как ваша комната будет выглядеть окрашенной в черный цвет, используйте Colorsnap Visualizer для Android или iOS . Приложение включает в себя функцию под названием Instant Paint, с помощью которого вы сможет выбрать цвет и посмотреть, как он будет выглядеть на ваших стенах.
Хочу всё знать!
Возможности технологии дополненной реальности в области познания окружающего мира огромны. Вы можете наблюдать как виртуальные динозавры шагают по гулким коридорам музея, давать имена вашим любимым звездам, глядя на ночное небо, или изучать строение автомобильного двигателя, разбирая его, как будто он находится перед вашими глазами. В этой увлекательной области AR использует всё более творческие и инновационные методы.
Например, атлас анатомии человека для Android и iOS стоит $25 — это больше, чем вы платите за обычное приложение, но оно стоит того. Приложение покажет вам подробнейшую визуализацию человеческого тела, которое вы можете исследовать на своем устройстве.
Для любителей астрономии приложение Big Bang AR доступно для Android и iOS и, к счастью, бесплатно. Наблюдайте как Вселенная рождается и обретает формы с каждым космическим объектом, который вы можете рассмотреть под любым углом через камеру на вашем смартфоне. И речь идет не только о том, чтобы наблюдать за всем, что происходит на ваших глазах, но и взаимодействовать с космическими объектами —вы можете вращать планеты, получать больше информации о звездах и даже виртуально соединять атомы одним касанием или нажатием.
Навигация к месту назначения
Найти дорогу проще, когда дополненная реальность является вашим штурманом. В лесу AR подскажет вам, какую из трех похожих тропинок выбрать; в ресторане укажет, где именно искать выход, если вы слегка перебрали с друзьями на вечеринке, а в незнакомом городе поможет сориентироваться в метро.
Google Maps для Android и iOS , например, недавно представил приложения с дополненной реальностью для прогулок . Если вы захотите использовать это приложение во время прогулки, нажмите кнопку Start AR и перед вами откроется картинка, созданная дополненной реальностью. Здесь будут и большие стрелки, указывающие направления и уличные знаки, которые плавают прямо в воздухе перед вами, когда вы смотрите в свой телефон.
Еще один отличный пример-ViewRanger, доступный для Android и iOS . Это приложение для пеших прогулок на свежем воздухе поможет вам сориентироваться на местности, а в горах, например, будет идентифицировать каждый горный пик по отдельности, если вы наведете на него камеру вашего телефона. ViewRanger является бесплатным, но надстройка AR требует подписки на $5 в год.
Создай свой шедевр!
С технологией AR реальный мир вокруг вас — это ваш холст. Вы можете нарисовать граффити на пустой стене без риска быть арестованным за вандализм или построить 3D-башню средневекового замка на полу вашей кухни. Без сомнения, эта технология поможет раскрыть вам свой творческий потенциал.
Приложение Line для Android и iOS — отличный пример. Используя камеру вашего телефона, вы можете рисовать в пространстве перед собой, просматривать свои рисунки под любым углом в 3D-пространстве и делиться ими с друзьями.
Немного отличается Inkhunter для Android и iOS . С помощью этого бесплатного приложения, вы сможете увидеть и оценить, как татуировка будет выглядеть на вашей коже, прежде чем решиться нанести её. А может AR даже заставить вас понять, что вы не такой уж большой фанат этого искусства.
Общайся с друзьями чаще!
Возможно, вы этого не знали, но самые большие приложения для социальных сетей имеют встроенные функции AR, которые позволяют вам сделать повседневное общение с друзьями и семьей намного разнообразней и увлекательней.
Одним из ведущих приложений является Snapchat, доступный для Android и iOS . Нажмите на эмоджи и выберите объект, который вы хотите поместить в дополненную реальность. Это может быть либо персонаж Битмоджи, делающий что-то абсурдное, или наложение на одну из самых известных достопримечательностей в мире (например, Эйфелеву башню). С помощью этого приложения вы сможете сделать окружающий вас мир намного ярче!
Следуя по стопам Snapchat, Instagram (для Android и iOS ) предлагает интересные возможности поклонникам дополненной реальности. Вы можете получить доступ к постоянно растущему списку улучшенных фильтров лица, нажав эмоджи при составлении истории. Вы можете играть с современной классикой, такой как «уши котенка» или «глаза –сердца», или вы можете создать свою игру, используя новые фильтры, сделанные другими пользователями Instagram. Просто перейдите в конец меню фильтров и нажмите на «обзор дополнительных эффектов.»
Что наша жизнь игра? Игра!
И последнее, но очень важное: разработчики игр очень широко используют возможности, которые предлагает дополненная реальность. Они создают приключения, используя не только реалии окружающего мира, но и сказочные миры, созданные вашим смартфоном. И часто конечный результат превосходит все ожидания!
Возможно, вы слышали о Pokémon Go, а ещё есть Harry Potter: Wizard’s Unite (для Android и iOS ) берет ту же идею и те же механизмы и переносит их в Potterverse. Просто гуляя и нацеливая камеру в разных направлениях, вы сможете поохотиться за волшебными существами, живущими по соседству и разгадать захватывающие тайны и загадки вашего района.
Приложение Knightfall для Android и iOS хотя и не такое сложное, но тоже очень весёлое. Это 3D-стратегия обороны башни, тут все как во время настоящей военной кампании: кровавые сражения, ожесточенные битвы, мощные взрывы. И все это происходит на вашем кофейном столике в гостиной—ну, или там, где вы захотите.
Источник