Advertisement
  1. Code
  2. Coding Fundamentals
  3. Game Development

Советы и хитрости для расширенной реальности с единством и вуфорией

Scroll to top
Read Time: 11 min
This post is part of a series called Create a Pokémon GO Style Augmented Reality Game With Vuforia.
Create a Pokémon GO Style Augmented Reality Game With Vuforia: Image Targets

() translation by (you can also view the original English article)

Привет, расширенный путешественник! В этом посте я покажу вам некоторые интересные функции Vuforia, которые позволяют создавать привлекательные AR-приложения. Мы рассмотрим цели Куба и Цилиндра, Smart Terrain, VuMarks и другие. Мы не будем погружаться глубоко в любой из этих предметов, но я постараюсь охватить достаточно, чтобы вы начали.

Если вы не знакомы с основными концепциями Vuforia, ознакомьтесь с некоторыми из моих предыдущих сообщений. Они заставят вас начать создавать свое первое приложение с помощью Vuforia прямо с нуля.

1. Настройка Vuforia on Unity

Этот раздел является лишь обзором для тех, кто использовал Vuforia в прошлом. Если вы уже знакомы с процессом подготовки проекта Unity для Vuforia, не стесняйтесь пропустить этот раздел.

Прежде чем использовать какие-либо ресурсы Vuforia на Unity, вам нужно будет настроить структуру. Прежде всего, вам нужно будет загрузить и импортировать пакет Vuforia для Unity.

Затем вам нужно создать лицензионный ключ для проекта в Vuforia's License Manager. Как только он будет создан, вы возьмете ключ и вставьте его в сборку ARCamera, и все. Теперь вы можете начать играть с Vuforia.

Я подробно расскажу об этом процессе с моим учебным пособием. Создайте игру Pokémon GO с расширенной реальностью с Vuforia.

2. Проектирование ImageTarget

Существует несколько способов создания опыта Vuporia с расширенной реальностью, и почти все они полагаются на какую-то цель, которая должна быть распознана алгоритмом Вуфории, чтобы начать процесс дополнений. Вы можете сами разработать цель и отправить ее в целевой диспетчер Vuforia, что сделает ее узнаваемой системой. Тем не менее, этот проект должен соответствовать некоторым рекомендациям, иначе цель не будет легко отслеживаться, или даже вообще не может быть распознана.

Вам особенно нужно знать, как создать ImageTarget. Это связано с тем, что многие другие объекты Vuforia состоят из нескольких ImageTargets, расположенных в определенной позиции и порядке с помощью MultiTarget.

Существует три основных правила, которым должен соответствовать ImageTarget:

  1. Он должен быть богатым в деталях.
  2. Он должен иметь хороший контраст, с яркими и темными областями.
  3. Нет повторяющихся шаблонов.
An example imageAn example imageAn example image

На заднем плане Vuforia создает расположение изображения с использованием его функций, а затем алгоритм может находить такие шаблоны и отслеживать цели. На заднем плане Vuforia создает расположение изображения с использованием его функций, а затем алгоритм может находить такие шаблоны и отслеживать цели.

The edges of an imageThe edges of an imageThe edges of an image

Однако важно понимать, что даже сотни функций в изображении не помогут, если эти функции расположены в шаблоне. ImageTargets нуждаются в некоторой степени случайности и хаосе, чтобы их можно было правильно распознать.

Patterns on ImageTargesPatterns on ImageTargesPatterns on ImageTarges

Если вы сохраните эти правила, вы сможете создавать отличные ImageTargets, но если вам нужно знать немного больше, прочитайте документацию.

3. Использование MultiTarget

Также известный как Cuboid Target, MultiTarget состоит из серии ImageTargets в определенной геометрической компоновке. Эта компоновка позволяет алгоритму Vuforia отслеживать цели одновременно, создавая объемную ссылку. MultiTarget может быть очень полезен в маркетинговых кампаниях для продвижения потребительского взаимодействия с пакетами продуктов и так далее.

3.1 Проектирование MultiTarget

В принципе, дизайн MultiTarget должен соответствовать тем же правилам, что и ImageTarget, добавляя еще две проблемы: глубину окна и ее геометрическую согласованность.

Глубина коробки должна быть не менее половины ее ширины. Это только рекомендация, и она будет работать, если она немного меньше, чем это, но интересно это помнить.

Кроме того, алгоритм Vuforia ожидает согласованности во всех частях MultiTarget. Это означает, что все стороны коробки, как ожидается, будут на месте. Если это невозможно, можно было бы удалить удаляемую часть при создании цели в Target Manager. Например, крышка ящика для зерновых может быть оставлена ​​пустой, иначе, как только крышка будет открыта, она может вызвать несогласованности во время увеличения.

3.2 Создание MultiTarget

Первым шагом является добавление или выбор базы данных в целевом менеджере Vuforia. Выберите базу данных и нажмите Add Target, выберите опцию «Cuboid» и установите ее ширину, высоту, длину и имя.

Adding a Cuboid TargetAdding a Cuboid TargetAdding a Cuboid Target

После создания MultiTarget выберите его и установите его ImageTargets. Как я уже упоминал, MultiTarget состоит из серии ImageTargets, скорректированной в определенной позиции. Каждая часть кубоида должна содержать изображение, и каждое изображение должно соответствовать пропорции кубоида, определяемой при создании цели.

Когда Cuboid установлен, вы будете готовы к работе. Просто загрузите базу данных и импортируйте ее в Unity. Чтобы использовать его, перетащите предварительную сборку MultiTarget на сцену и выберите загруженную базу данных и Cuboid Target. Чтобы узнать больше о MultiTarget, ознакомьтесь с документацией.

4. Цели цилиндров

Согласно документации Vuforia, «CylinderTargets позволяют обнаруживать и отслеживать изображения, свернутые в цилиндрические и конические формы». Вы можете использовать такое взаимодействие для создания взаимодействия с пакетами продуктов, такими как банки соды или любой другой цилиндрический продукт.

4.1 Проектирование цели цилиндра

CylinderTarget также основан на ImageTarget, поэтому его дизайн должен соответствовать этим правилам. Верх и низ цилиндра должны быть квадратными изображениями, которые будут отмечены системой Target Manager. Как и в случае с MultiTarget, вы должны учитывать согласованность цели, а это означает, что если часть объекта может быть удалена, было бы полезно оставить его пустым в менеджере.

4.2 Создание цели цилиндра

Этот вид цели создается в два этапа. Первым из них является добавление или выбор базы данных в целевом диспетчере Vuforia, добавление нового целевого объекта, выбор параметра «Цилиндр» и установка его «Размеры и имя».

Adding a Cylinder TargetAdding a Cylinder TargetAdding a Cylinder Target

Затем вам нужно выбрать созданный вами CylinderTarget и загрузить в него изображения. Вы можете загрузить одно изображение для стороны, одно для нижнего и одно для верхнего. Просто нажмите на нужный раздел и загрузите изображение.

Adding a cylinder targetAdding a cylinder targetAdding a cylinder target

Однако изображение должно учитывать отношение цилиндра. Возможно, ваша первая попытка не сработает. Но не бойтесь, система Vuforia даст вам правильное соотношение, и вы можете соответствующим образом скорректировать пропорции изображения. Например, для цилиндра с шириной 1 и высотой 2 отношение равно 1,571. На целевой стороне высота изображения равна ширине, деленной на отношение. Как только соотношение будет правильным, ваша загрузка будет успешной.

Cylinder ratio errorCylinder ratio errorCylinder ratio error

После определения параметра CylinderTarget его можно использовать. Вам нужно будет только загрузить и импортировать базу данных в Unity, а затем перетащить сборку Vuforia CylinderTarget на вашу сцену, и вы готовы к работе.

5. Умный ландшафт

SmartTerrain - это эксклюзивная функция для Unity, которая позволяет вам восстанавливать и дополнять вашу физическую среду. Функция восстанавливает, распознает и отслеживает физические объекты и поверхности. Эти признанные объекты могут использоваться как ландшафт в Unity, открывая интересные возможности для игр и опыта.

Опыт запускается, когда отслеживается какая-то цель Vuforia. Он может запускаться, когда устройство отслеживает ImageTarget, CylinderTarget или любой другой тип цели.

После запуска система будет распознавать объекты, распределенные вокруг цели, и установить стадию игры с учетом отслеживаемых объектов. Затем ландшафт фактически проецируется над сканированными объектами, и опыт начинается.

Smart Terrain может распознавать простые объекты, такие как коробки и цилиндры, если они соответствуют стандартам Vuforia, помещая эти объекты непосредственно на игровой стадии и используя их как часть сцены.

Такие объекты называются реквизитами системы SmartTerrain, и их размер может быть таким же маленьким, как суп, или размером с большую коробку с зерном. Прозрачные предметы, такие как стекло, не поддерживаются.

SmartTerrain работает в три этапа:

  • Проведение: пользователь распределяет цель и реквизит.
  • Сканирование: этап и реквизит, используемые в настройке, захватываются и восстанавливаются трекере Smart Terrain.
  • Отслеживание: ландшафт дополняется в реальном времени сценой Unity, которую вы разработали.

Процесс создания SmartTerrain прост, но требуется много шагов. Поскольку команда Vuforia предоставляет нам превосходное пошаговое руководство по созданию умного ландшафта в Unity, мы не будем погружаться в процесс создания здесь.

Если вы хотите попробовать, следуйте инструкциям, и у вас не должно быть никаких проблем. Однако имейте в виду, что SmartTerrain имеет определенные ограничения, особенно в отношении аппаратных и системных требований. Вы можете узнать больше о системе в своей документации.

6. VuMark

VuMark - это своего рода цель, которую можно полностью настроить. Он может отражать конкретные варианты дизайна или индивидуальность бренда. Он также чрезвычайно узнаваем с помощью системы слежения Vuforia, и он может запускать AR-события или кодировать данные.

VuMark examplesVuMark examplesVuMark examples

Прежде чем начать играть с VuMark, хорошо понять, что процесс создания не самый простой. Команда Vuforia собрала довольно хорошее руководство и некоторые полезные инструменты, но я бы рекомендовал это решение только для конкретных ситуаций, когда дизайн маркера имеет первостепенное значение.

Я не буду рассматривать все требования VuMark и процессы проектирования. Вместо этого я просто дам вам общее представление об этом процессе, и если вы решите создать свой собственный VuMarker, вам, вероятно, сначала понадобятся инструкции Vuforia.

6.1 VuMark дизайн

Очень важно понять некоторые правила архитектуры и дизайна для VuMark, иначе цель не будет работать должным образом.

VuMark состоит из пяти частей:

  1. Контур: контур фактически не нарисован на VuMark; это определяется контрастом между границей и прозрачным пространством. Это та часть, которую обнаружил алгоритм Вуфории.

  2. Границы: Наиболее идентифицируемой и определяющих форму VuMark. Это сделано из прямых линий, с по крайней мере четырех углов, расположенной на краю внешней конструкции.

  3. Clear Space: обязательная пустая область, которая появляется рядом с границей. Это гарантирует достаточный контраст для алгоритма для обнаружения контура.

  4. Код / Элементы: визуальное представление идентификатора цели. Это состоит из элементов с высокой контрастностью, которые представляют собой два состояния, темные и светлые. Количество присутствующих элементов определяется при создании шаблона VuMark в Illustrator с использованием инструментов, предоставленных Vuforia. (Подробнее об этом в следующем разделе.)

  5. Фон / область проектирования: эта область представляет собой пустой холст, который будет игнорироваться алгоритмом. Вы можете свободно проектировать это пространство.

VuMark partsVuMark partsVuMark parts

Чтобы узнать больше о требованиях к дизайну, прочитайте руководство VuMarkDesign.

6.2 создание VuMark

VuMark создается с использованием Adobe Illustrator и VuMark Design Tools, доступных для загрузки на сайте Vuforia. Инструменты состоят из трех сценариев Illustrator, которые представлены с некоторыми примерами и подробным руководством по PDF.

Прежде чем начать VuMark, вы должны разработать свою концепцию, учитывая все рекомендации, предложенные Vuforia. Как только дизайн будет завершен, вы начнете разбивать его на части, подчиняясь архитектуре VuMark.

Первым шагом является создание нового шаблона VuMark с использованием иллюстрированного сценария VuMark-Setup.jsx. В окне настройки шаблона VuMark вы можете выбрать имя метки, тип идентификатора и длину. Количество символов, закодированных в метке, определит, сколько элементов оно должно содержать.

VuMark Template Design WindowVuMark Template Design WindowVuMark Template Design Window

После создания шаблона вы должны скопировать свою концепцию дизайна и сломать ее, используя слои, созданные сценарием. Каждый слой представляет собой архитектурную часть и имеет свое собственное правило. Вы будете использовать скрипт VuMark-Verify.jsx, чтобы проверить правильность дизайна. Сценарий даст вам советы о том, как исправить дизайн, чтобы он соответствовал стандартам VuMark.

VuMark Verify WindowVuMark Verify WindowVuMark Verify Window

После разрушения вашего дизайна и проверки того, что он соответствует стандартам VuMark, пришло время экспортировать цель. Чтобы экспортировать проект, вы должны запустить сценарий VuMark-Export.jsx. Он создаст новый файл в Illustrator и переместит содержимое из вашего шаблона VuMark. Затем он предложит вам сохранить ваш шаблон VuMark в виде файла SVG.

Наконец, ваш маркер будет готов, и вы можете загрузить целевой файл в новую базу данных в диспетчере задач Vuforia. Затем вам просто нужно загрузить базу данных и использовать ее, как и любую другую цель.

7. Изучение других функций охлаждения

Это была долгая поездка в систему Вуфории и возможности для расширенной реальности. Как вы можете видеть, система Vuforia имеет множество интересных функций. Это был мой пятый пост на Vuforia, и все же я все еще не мог охватить все его особенности. Тем не менее, я уверен, что у вас есть достаточно знаний, чтобы самостоятельно изучить эти ресурсы.

Вот несколько указателей на другие функции, которые стоит изучить:

  • Пользовательские цели: работает как ImageTarget, но пользователь может определить цели на ходу, используя камеру устройства.
  • Облачное распознавание: исключительно для учетных записей предприятий. Это своего рода целевая база данных, которая живет в облаке, что позволяет загружать и синхронизировать новые ImageTargets с приложением на лету.
  • Распознавание объектов: это экспериментальная функция, которая позволяет распознавать объект после его сканирования с помощью специального инструмента, предоставленного Vuforia.

Пока вы здесь, ознакомьтесь с некоторыми нашими другими сообщениями по AR и мобильной разработке!

Или, чтобы узнать больше об дополненной реальности с Vuforia и Unity, ознакомьтесь с нашим видеокурсом здесь, в Envato Tuts +!

Advertisement
Did you find this post useful?
Want a weekly email summary?
Subscribe below and we’ll send you a weekly email summary of all new Code tutorials. Never miss out on learning about the next big thing.
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.