- PVSM.RU - https://www.pvsm.ru -

Metaio SDK: дополненная реальность стала полнее

Metaio SDK: дополненная реальность стала полнее
Вот уже течение 10 лет компания Metaio GmbH [1] разрабатывает и совершенствует технологии дополненной реальности (ДР) для ПК и мобильных устройств. Одним из результатов этих титанических усилий стал Metaio SDK [2] – набор инструментов для внедрения элементов ДР в приложения и программы, оптимизированный при поддержке и помощи Intel под ее платформы. Набор, между прочим, совершенно бесплатный [2]! Предлагаем вам поближе познакомиться с этим продуктом и посмотреть, как он работает.

Итак, с помощью инструментов Metaio сложные и ресурсоемкие функции компьютерного зрения, такие, например, как трехмерный трекинг реальных объектов, выполняются на мобильных платформах Intel гладко и ненапряжно. Это означает, прежде всего, что приложения, использующие технологии ДР, будут работать точно и стабильно. Внедрена поддержка многих носимых гаджетов, улучшена визуализация и скорость обработки объектов. К слову сказать, Metaio SDK – единственный SDK в мобильном сегменте, осуществляющий надежный безмаркерный трекинг трехмерных объектов реального мира, как, впрочем, и двумерных. Последняя версия Metaio SDK поддерживает также трекинг по контурам, позволяющий пользователям отслеживать геометрию реальных объектов, что в значительной степени решает проблему непостоянства освещенности.

На сегодняшний день, на портале Metaio зарегистрировано более 60 тысяч разработчиков, использующих продукты компании.
Metaio SDK лежит в основе многих мобильных приложений, использующих ДР, таких как каталог продуктов IKEA на 2012/13 годы, McDonalds McMission и многих других. Рассмотрим в качестве примера, как используется ДР в приложении Audi eKurzinfo. Современный автомобиль чрезвычайно насыщен разнообразными функциями, и разобраться в управлении ими сразу далеко не просто. Audi eKurzinfo позволяет получить мгновенную помощь по агрегатам и органам управления автомобиля Audi; достаточно поднести камеру к интересующему вас объекту, и приложение выдаст справку о нем. Работа системы показана на этом маленьком видеоролике.

Наиболее продвинутый браузер ДР, junaio, также использует в качестве основы Metaio SDK.
Основные характеристики новой версии Metaio SDK 5.0:

  • Доступен для Android, iOS и ПК платформ, поддерживает 2D, 3D, ID и SLAM трекинг;
  • Поддерживает носимые гаджеты Google Glass, Epson Moverio BT-100 и Vuzix M-100;
  • Поддерживает 3D безмаркерный трекинг на основе CAD данных (трекинг по контурам);
  • В 2014 будет добавлен функционал трекинга по лицам;
  • Улучшенное качество визуализации посредством программируемых шейдеров;
  • Встроенный мощный 3D движок, оснащенный многопоточным трекингом и конвейерами рендеринга;
  • Поддержка сложных 3D моделей (более 32 тысячи многоугольников);
  • Простое управление 3D контентом и его отладка (BoundingBox, Normals, Wireframe).

Приведем небольшой учебный пример, показывающий возможности Metaio SDK. Этот и прочие разделы учебника можно изучить на сайте Metaio [3].
Посмотрим, как расположить различные трекинговые данные, чтобы получилась своя собственная дополненная реальность.
По умолчанию будем использовать безмаркерную конфигурацию. Для начала загрузим нашу 3D модель.

mMetaioMan = metaioSDK.createGeometry(metaioManModel);

Теперь добавим onTouch обработчики для кнопок. Например, для кнопки картинки-маркера обработчик под Android будет таким

public void onPictureButtonClick(View v)
	{
		trackingConfigFile = AssetsManager.getAssetPath("Assets3/TrackingData_PictureMarker.xml");
 		boolean result = metaioSDK.setTrackingConfiguration(trackingConfigFile);  
	}

Для iOS мы внедрили элемент UISegmentedControl, поэтому код будет выглядеть немного по-другому. В AREL (Augmented Reality Experience Language) мы будем использовать функцию jQuery .buttonset(), чтобы создать кнопки в HTML коде и потом навесим на него обработчики нажатий на JavaScript.
Как мы видим, просто исполняя метод setTrackingConfiguration(trackingConfigurationFile), мы получаем новую конфигурацию трекинга.
Обратите внимание, что наша конфигурация для картинки-маркера не содержит ни одного маркера; чтобы быть уверенными, что модель включает обе картинки из тестового задания, мы должны внедрить следующую функциональность, переписав метод onDrawFrame() в случае Android, drawFrame() для iOS и определяя обработчик трекинга для AREL.

@Override
	public void onDrawFrame() 
	{
		super.onDrawFrame();
 
		if (metaioSDK != null)
		{
			// get all detected poses/targets
			TrackingValuesVector poses = metaioSDK.getTrackingValues();
 
			//if we have detected one, attach our metaio man to this coordinate system Id
			if (poses.size() != 0)
				mMetaioMan.setCoordinateSystemID(poses.get(0).getCoordinateSystemID());
 
		}
	}

С помощью первого вызова мы получим все обнаруженные цели и затем, если цель обнаружена, мы соотнесем нашу модель с системой координат цели. В AREL мы пропустили первый шаг, поскольку получили колбэк с трекинговым событием.
И, напоследок, веселое видео от IKEA о дополненной домашней реальности.

Автор: saul

Источник [4]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/razrabotka/46469

Ссылки в тексте:

[1] Metaio GmbH: http://www.metaio.com/

[2] Metaio SDK: http://www.metaio.com/products/sdk/

[3] сайте Metaio: http://dev.metaio.com/sdk/tutorials/

[4] Источник: http://habrahabr.ru/post/198716/