Язык разметки дополненной реальности - Википедия - Augmented Reality Markup Language
В Язык разметки дополненной реальности (ARML)[1] стандарт данных для описания и взаимодействия с дополненная реальность (AR) сцены. Он был разработан в рамках Открытый геопространственный консорциум (OGC) специальной рабочей группой по стандартам ARML 2.0.[2] ARML состоит из XML грамматика для описания расположения и внешнего вида виртуальных объектов в сцене, а также ECMAScript привязки для обеспечения динамического доступа к свойствам виртуальных объектов, а также обработки событий, и в настоящее время опубликовано в версии 2.0. ARML ориентирован на визуальную дополненную реальность (то есть камера устройства с поддержкой AR служит основным выходом для сценариев дополненной реальности).
Модель данных
ARML построен на общей объектной модели, которая допускает сериализацию на нескольких языках. В настоящее время ARML определяет сериализацию XML, а также JSON сериализация для привязок ECMAScript. Объектная модель ARML состоит из трех основных концепций:
- Функции представляют собой физический объект, который следует дополнить.
- VisualAssets описать внешний вид виртуального объекта в дополненной сцене.
- Якоря описывают пространственные отношения между физическим и виртуальным объектом.
Особенность
Определение Особенность повторно используется из Язык разметки географии (GML) и описывает физический объект, который следует дополнить. Физический объект описывается набором метаданных, включая идентификатор, имя и описание. У функции есть одна или несколько привязок.
Якорь
Якорь описывает расположение физического объекта в реальном мире. В ARML определены четыре разных типа привязок:
- Геометрии
- Треки
- Относительно
- ScreenAnchor
Геометрии
Геометрия описывает местоположение объекта с помощью набора фиксированных координат. WGS84 (широта, долгота, высота) используется в качестве системы координат по умолчанию, при необходимости могут быть предоставлены другие произвольные системы координат. ARML допускает 0- (Point), 1- (LineString) и 2-мерную (Polygon) геометрию. Якоря геометрии повторно используют синтаксис, определенный в GML3. В качестве примера следующий фрагмент определяет расположение Винер Ризенрад.
gml: id ="FerrisWheelViennaPoint"> <gml:pos> 48.216622 16.395901 </gml:pos> </gml:Point>
Треки
Trackables - это шаблоны, которые ищутся, распознаются и отслеживаются на видеоэкране, поступающем с камеры устройства. Существует множество различных технологий отслеживания, в том числе QR коды, Врожденные функции, 3D и отслеживание лиц. Поскольку все эти типы отслеживания используют разные алгоритмы и технологии, определение отслеживаемого объекта абстрагируется и разбивается на две части: Трекер и связанные с ним Треки. Tracker описывает технологию (или алгоритм), с помощью которой должны отслеживаться связанные с ним Trackables, используя URI, идентифицирующие алгоритм. Сам Trackable описывает шаблон, который алгоритм должен искать в видеопотоке.
Пример: естественный трекер функций и связанный с ним трекер.
<Трекер id ="defaultImageTracker"> <ури xlink: href ="http://opengeospatial.org/arml/tracker/genericImageTracker" /> </Tracker> <Trackable> <config> <трекер xlink: href ="#defaultImageTracker" /> <src>http://www.example.com/myMarker.jpg</src> </config> <size>0.20</size> </Trackable>
Относительно
Якоря RelativeTo позволяют определять местоположение относительно других якорей или положения пользователя. Первый позволяет настраивать сцену и расположение всех включенных виртуальных объектов на основе одного якоря, например Trackable, размещенного на столе. Последний допускает сценарии, в которых фактическое местоположение пользователя не имеет значения. Виртуальные объекты просто размещаются вокруг пользователя, независимо от его или ее физического местоположения.
ScreenAnchor
В отличие от трех предыдущих типов якоря, ScreenAnchors не описывают местоположение в трехмерной виртуальной сцене. Вместо этого они определяют область на экране устройства, позволяющую отображать строки состояния и т.п.
VisualAsset
VisualAssets описывают внешний вид виртуальных объектов в расширенной сцене. ARML позволяет описывать различные виды VisualAsset, включая простой текст, изображения, HTML-контент и 3D-модели. VisualAssets могут быть ориентированы (либо всегда автоматически смотреть на пользователя, либо сохранять определенную статическую ориентацию) и масштабироваться. Кроме того, могут применяться условия видимости (т. Е. Актив виден на экране только в том случае, если расстояние до пользователя находится в определенных границах).
История
В конце 2009 г. Wikitude (ранее Mobilizy), создатели Wikitude World Browser, начали раннюю инициативу по созданию формата, которого могли придерживаться все браузеры AR в то время, под названием Язык разметки дополненной реальности (ARML).[3] Этот формат теперь называется ARML 1.0 и служит входным форматом для Wikitude World Browser.
В конце 2011 года Мартин Лехнер, технический директор Wikitude и главный движитель инициативы ARML, учредил Рабочую группу по стандартам языка разметки дополненной реальности 2.0 (ARML 2.0 SWG) в рамках OGC.[4] Его целью было создание международно признанного стандарта дополненной реальности, основанного на идеях ARML 1.0 и подобных форматов. В течение ISMAR в Атланта в ноябре 2012 года была официально опубликована первая спецификация ARML 2.0,[5] сделать ARML 2.0 официальным стандартом OGC Candidate Standard.
Связанные стандарты
ARML 2.0 повторно использует идеи, структуру, синтаксис и семантику следующих существующих и широко используемых стандартов:[6]
- Язык гипертекстовой разметки, ECMAScript (JavaScript ) и Каскадные таблицы стилей
- Язык разметки географии
- Язык разметки Keyhole
- КОЛЛАДА
- XPath 2.0
Кроме того, следующие инициативы, не зависящие от ARML, также связаны с созданием стандартов для сред дополненной реальности:
- Формат приложения дополненной реальности (ARAF) [7] разработан в ISO /MPEG
- KARML [8] разработан Технологический институт Джорджии
- MobAR [9] разработан в рамках Открытый мобильный альянс (OMA)
Примеры
В следующем примере описывается 3D-модель (предполагается, что она доступна на http://www.example.com/myModel.dae ) на Trackable, как реперный маркер, расположенный в http://www.example.com/myMarker.jpg:
<arml> <ARElements> <!-- register the Tracker to track a generic image --> <Трекер id ="defaultImageTracker"> <ури xlink: href ="http://opengeospatial.org/arml/tracker/genericImageTracker" /> </Tracker> <!-- define the artificial marker the Model will be placed on top of --> <Trackable> <assets> <!-- define the 3D Model that should be visible on top of the marker --> <Model> xlink: href ="http://www.example.com/myModel.dae" /> </Model> </assets> <config> <трекер xlink: href ="#defaultImageTracker" /> <src>http://www.example.com/myMarker.jpg</src> </config> <size>0.20</size> </Trackable> </ARElements></arml>
Рекомендации
- ^ «OGC® Augmented Reality Markup Language 2.0 (ARML 2.0) - OGC». Opengeospatial.org.
- ^ «ARML 2.0 SWG - OGC». Opengeospatial.org.
- ^ «ARML - стандарт дополненной реальности» (PDF). Perey.com. Получено 27 декабря 2018.
- ^ «OGC ищет комментарии к кандидату в стандарт языка разметки дополненной реальности (ARML 2.0) - OGC». Opengeospatial.org.
- ^ «OGC формирует международную рабочую группу по стандартам дополненной реальности - OGC». Opengeospatial.org.
- ^ Мартин Лехнер, Язык разметки дополненной реальности 2.0, Диссертация
- ^ «Формат приложения дополненной реальности - MPEG». Mpeg.chiariglione.org.
- ^ «Дом - ХАРМА». Kharma.gatech.edu.
- ^ «Архивная копия». Архивировано из оригинал на 2014-01-06. Получено 2013-07-22.CS1 maint: заархивированная копия как заголовок (связь)