Есть ли способ обработать несколько областей мультимаркера в AR.js / A-Frame? - PullRequest
0 голосов
/ 30 октября 2019

Я пытаюсь настроить более одной мультимаркерной области в AR.js с помощью A-Frame. Идея состоит в том, чтобы 4 маркера шаблона выкладывались в виде квадратной рамки для каждого содержимого. В мультимаркерных примерах AR.js учащийся использует данные матрицы поз в URL. Есть ли способ генерировать разные мультимаркерные файлы и назначать их каждому a-маркеру? Я приложил пример кода, чтобы показать, чего я пытаюсь достичь.

<a-scene>
<a-marker preset="area" id="first">
...
</a-marker>
<a-marker preset="area" id="second">
...
</a-marker>
<a-marker preset="area" id="third">
...
</a-marker>
<a-camera />
</a-scene>

1 Ответ

0 голосов
/ 31 октября 2019

Кажется, имя элемента localalstorage с объектом конфигурации жестко задано здесь .

Мне удалось получить несколько областей маркеров, но мне пришлось изменить код ar.js,Результат в этот глюк , маркеры в активах.

Сначала , мне пришлось создать и сохранить объекты конфигурации мультимаркера (см. этот SO поток или эту ar.js проблему на заказмаркеры области). Перед созданием сцены я установил конфиги:

// the name will correspond to the marker id
var oneMarker = { /* paths, pose matrices, etc. */ }
localStorage.setItem("oneMarkerFile", JSON.stringify(oneMarker));

Второй - Я изменил объект Arjs.Anchor - чтобы он не читал предопределенныйlocalStorageObject:

// originally ARjsMultiMarkerFile
let markerId = markerParameters.markerName + "MarkerFile"

Третий - Я должен как-то передать markerParameters.markerName. Объект Arjs.Anchor создается в функции инициализации компонента arjs-anchor . Одной строкой вы можете установить указанное выше свойство markerName:

markerParameters.markerName = _this.el.id
// anywhere before instantiating the anchor (new ARjs.Anchor(arSession, markerParameters))
...