Язык разметки дополненной реальности ( ARML ) [1] - это стандарт данных для описания и взаимодействия со сценами дополненной реальности (AR). Он был разработан в рамках Открытого геопространственного консорциума (OGC) специальной рабочей группой по стандартам ARML 2.0. [2] ARML состоит как из грамматики XML для описания расположения и внешнего вида виртуальных объектов в сцене, так и из ECMAScript.привязки для обеспечения динамического доступа к свойствам виртуальных объектов, а также обработки событий, и в настоящее время опубликован в версии 2.0. ARML фокусируется на визуальной дополненной реальности (то есть камера устройства с поддержкой AR служит основным выходом для сценариев дополненной реальности).
Модель данных [ править ]
ARML построен на общей объектной модели, которая допускает сериализацию на нескольких языках. В настоящее время ARML определяет сериализацию XML, а также сериализацию JSON для привязок ECMAScript. Объектная модель ARML состоит из трех основных концепций:
- Характеристики представляют собой физический объект, который следует дополнить.
- VisualAssets описывают внешний вид виртуального объекта в расширенной сцене.
- Якоря описывают пространственные отношения между физическим и виртуальным объектом.
Функция [ править ]
Определение Feature повторно используется из языка географической разметки (GML) и описывает физический объект, который должен быть расширен. Физический объект описывается набором метаданных, включая идентификатор, имя и описание. У функции есть одна или несколько якорей.
Якорь [ править ]
Якорь описывает расположение физического объекта в реальном мире. В ARML определены четыре разных типа привязки:
- Геометрии
- Треки
- Относительно
- ScreenAnchor
Геометрия [ править ]
Геометрия описывает местоположение объекта через набор фиксированных координат. WGS84 (широта, долгота, высота) используется в качестве системы координат по умолчанию, при необходимости могут быть предоставлены другие произвольные системы координат. ARML допускает 0- (Point), 1- (LineString) и 2-мерную (Polygon) геометрию. Якоря геометрии повторно используют синтаксис, определенный в GML3. В качестве примера в следующем фрагменте определяется расположение Wiener Riesenrad .
<gml: Point gml: id = "ferrisWheelViennaPoint" > <gml: pos> 48.216622 16.395901 </ gml: pos> </ gml: Point>
Trackables [ править ]
Trackables - это шаблоны, которые ищутся, распознаются и отслеживаются на видеоэкране, поступающем с камеры устройства. Существует множество различных технологий отслеживания, включая QR-коды , естественные особенности , 3D и отслеживание лиц. Поскольку все эти типы отслеживания используют разные алгоритмы и технологии, определение Trackable абстрагируется и делится на две части: Tracker и связанные с ним Trackables . Tracker описывает технологию (или алгоритм), с помощью которой должны отслеживаться связанные с ним Trackables, используя URI, идентифицирующие алгоритм. Сам Trackable описывает шаблон, который алгоритм должен искать в видеопотоке.
Пример: естественный трекер функций и связанный с ним трекер.
<Tracker id = "defaultImageTracker" > <uri xlink: href = "http://opengeospatial.org/arml/tracker/genericImageTracker" /> </Tracker> <Trackable> <config> <tracker xlink: href = "#defaultImageTracker" /> <src> http://www.example.com/myMarker.jpg </src> </config> <size> 0.20 </size> </Trackable>
RelativeTo [ править ]
Якоря RelativeTo позволяют определять местоположение относительно других якорей или положения пользователя. Первый позволяет настраивать сцену и расположение всех включенных виртуальных объектов на основе одного якоря, как объект Trackable, размещенный на столе. Последний допускает сценарии, в которых фактическое местоположение пользователя не имеет значения. Виртуальные объекты просто размещаются вокруг пользователя, независимо от его или ее физического местоположения.
ScreenAnchor [ править ]
В отличие от предыдущих трех типов якоря, ScreenAnchors не описывают местоположение в трехмерной виртуальной сцене. Вместо этого они определяют область на экране устройства, позволяющую отображать строки состояния и тому подобное.
VisualAsset [ править ]
VisualAssets описывают внешний вид виртуальных объектов в расширенной сцене. ARML позволяет описывать различные виды VisualAsset, включая простой текст, изображения, HTML-контент и 3D-модели. VisualAsset может быть ориентирован (либо всегда автоматически смотреть на пользователя, либо поддерживать определенную статическую ориентацию) и масштабироваться. Кроме того, могут применяться условия видимости (т. Е. Актив виден на экране только в том случае, если расстояние до пользователя находится в определенных границах).
История [ править ]
В конце 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] разработан в рамках Open Mobile Alliance (OMA)
Примеры [ править ]
В следующем примере описывается 3D-модель (при условии, что она доступна на http://www.example.com/myModel.dae ) на Trackable, например, реперный маркер, расположенный по адресу http://www.example.com/myMarker. jpg :
<arml> <ARElements> <! - зарегистрируйте трекер для отслеживания общего изображения -> <Tracker id = "defaultImageTracker" > <uri xlink: href = "http://opengeospatial.org/arml/tracker/genericImageTracker" /> </Tracker> <! - определите искусственный маркер, поверх которого будет размещена модель -> <Trackable> <assets> <! - определите 3D-модель, которая должна быть видна поверх маркера -> <Model> <href xlink: href = "http://www.example.com/myModel.dae" /> </Model> </assets> <config> <tracker 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 . Проверено 22 июля 2013 .CS1 maint: заархивированная копия как заголовок ( ссылка )