В двух последних статьях мы познакомились с основами процесса и начали разбирать кейс работы с AR. Читайте дальше, чтобы оставаться в курсе.
Часть I: Основы распознавания объектов Часть II: как распознать объект и показать 3D-модель Мы рады представить заключительную третью часть (уууу!), в которой мы подробнее обсудим возможности движка и узнаем:
- Как анимировать 3D-объект для AR. Давайте отображать текст при нажатии на объект.
- Как показать 3D-объект по заданным координатам как POI (достопримечательность).
- Как показать 3D объект относительно вас.
Несколько слов о 3D моделях и анимации
Мы уже видели приложение для загрузки изображений для распознавания.Ну, в Wikiitude есть редактор для загрузки моделей и анимации.
Инструмент называется Wikitude 3D encoder. С его помощью вы можете загружать контент из файлов *.
fbx или *.
dae, а затем экспортировать его в удобный для Wikitude формат *.
wt3.
3D-модель в 3D-кодере Wikitude
Пример с 3D-моделью мы уже обсуждали, поговорим об анимации.
Анимацию можно экспортировать из специального программного обеспечения или запрограммировать самостоятельно.
В первом случае для этого использовалась программа Autodesk Maya.
Пример анимации прямо в редакторе.
Обратите внимание, что все доступные анимации отображаются справа.
Немного кода никогда не помешает: Это запустит анимацию.
Сама исходная анимация содержится в файле *.
wt3. Давайте разнообразим задачу: запрограммируем анимацию.
Сделаем так, чтобы модель появлялась с анимацией при распознавании картинки.
Останется лишь немного отредактировать функции инициализации трекера и мы получим вот такой пример: Мы рассмотрели два подхода к анимации: — Создано ранее и хранится в формате файла *.
wt3.
— Программируется вручную
Как отобразить подпись
Самый распространенный случай — отображение текста.Это довольно просто.
Так: Давайте посмотрим, что мы получили:
- Создается текстовое поле.
- Появится 3D-модель.
- При загрузке назначается анимация вращения.
- При нажатии на модель в окне появляется надпись.
При загрузке ему назначается анимация, вращающая модель вокруг своей оси.
Когда мы нажимаем на эту модель, в окне появляется надпись.
В окне также есть кнопка анимации.
Он появляется только тогда, когда объект распознается и по-своему оживляет машину.
Геолокация и POI
POI — точки интереса, объект, отмеченный на карте булавкой.В нашем случае POI означает объект, находящийся слишком далеко от нас.
Когда мы находимся с ним в радиусе 100 метров, он перестает быть для нас точкой мира, а трансформируется в модель внутри дополнения.
реальности и мы получаем возможность взаимодействовать с ней.
Возникает вопрос: почему модель нельзя использовать сразу? Как вы видели в игре Pokemon go, в определенный момент перед вами появляются покемоны.
Получается, что они не привязаны к своей геопозиции, они привязаны к вашей геопозиции, и вы для них центр Вселенной (точка 0.0.0), от которой они ведут отсчет. Это связано с несколькими моментами, наиболее очевидным из которых является датчик GPS, который определяет объекты по географическому признаку.
Его бросают на 50 метров вперед и назад. Особенно это было заметно на карте, когда ты оказываешься сначала на одной стороне дома, а потом вдруг на другой.
Второй нюанс – мы показываем POI в виде 2D изображения и его размеры не зависят от расстояния до точки.
В противном случае при работе с 3D нужно рассчитывать размеры и динамически изменять их по мере приближения, что, на мой взгляд, существенно усложняет работу.
Первым делом запускаем датчик геотрекинга: Далее нам нужно сделать несколько вещей: — Добавить достопримечательность.
Сделаем это в методе loadPoisFromJsonData. — Добавьте 3D-модель.
Мы уже сделали это выше.
Теперь мы просто обернем его в функцию createModelAtLocation() и добавим триггер + прикрепим его к geo. — Контролировать расстояние до заданной точки и принимать соответствующие меры.
Мы видим POI на расстоянии от нас
Подносим объект ближе и видим 3D модель с анимацией постоянного вращения.
Подведем итоги нашей работы по делу.
Вот что мы получили: - Распознавание образов.
— Наложение анимации на 3D-модель в месте распознавания.
— 3D-модель, которая находится далеко от нас по геолокации и отображается как POI. — Преобразование POI в 3D-модель при приближении.
— Обработка кликов, отображение надписей.
— 3D-модель не имеет географической привязки, а привязана к нашему географическому положению и расположена относительно нас.
При этом у нас не возникло абсолютно никаких проблем с загрузкой картинки для распознавания или загрузкой 3D-модели/анимации.
Весь процесс интуитивно понятен и прост. Надеюсь, вы сможете найти хорошее применение всему, что я написал.
Я понимаю, что это не единственный вариант. Поэтому буду рад вашим предложениям в комментариях.
Всем дополненной реальности, мира и жвачки! P.S. Изначально я даже не смел подумать, что тема растянется на целых три статьи.
Парадокс в том, что это еще не все.
Эта область чрезвычайно интересна и сложна.
Буквально вчера Google объявила о закрытии Google Tango, так как он больше не нужен, ведь ARCore уже замечательно справляется с задачей.
Ну, нет нужды говорить, что происходит на рынке нейронных сетей.
Автор: Виталий Зарубин, старший инженер-разработчик Рексофт
Теги: #vr #AR #3d #ios разработка #ios разработка #Разработка для iOS #Разработка для AR и VR
-
Переход С Great Plains На Sap Business One
19 Oct, 24 -
Скриншоты Всех Дистрибутивов Linux
19 Oct, 24 -
Проблемы Mtgox И Кузнец Спам-Бота
19 Oct, 24 -
О Стиве Джобсе И Свежих Решениях
19 Oct, 24