Любой учебник по изучению мультимаркеров ar js? - PullRequest
0 голосов
/ 21 января 2020

Я искал ар. js учебник по мультимаркерам или что-нибудь, что объясняет об этом. Но все, что я могу найти, - это 2 примера, но не учебники или объяснения.

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

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

Любая помощь приветствуется.

1 Ответ

1 голос
/ 21 января 2020

Поскольку вопрос в основном касается страницы ученика, я постараюсь разбить ее настолько, насколько смогу:

1) Вам нужен массив {type , URL} объекты.

Пример создания массива по умолчанию показан ниже ( исходный код ):

var markersControlsParameters = [
        {
            type : 'pattern',
            patternUrl : 'examples/marker-training/examples/pattern-files/pattern-hiro.patt',
        },
        {
            type : 'pattern',
            patternUrl : 'examples/marker-training/examples/pattern-files/pattern-kanji.patt',
        }]

2) Вам необходимо передать это объект «ученик».

По умолчанию вышеуказанный объект кодируется в URL ( источник ) и затем декодируется сайтом ученика. Что важно, происходит на сайте: для каждого объекта в массиве создается и сохраняется объект ArMarkerControls:

// array.forEach(function(markerParams){
var markerRoot = new THREE.Group()
scene.add(markerRoot)
// create markerControls for our markerRoot
var markerControls = new THREEx.ArMarkerControls(arToolkitContext, markerRoot, markerParams)
subMarkersControls.push(markerControls)

subMarkersControls используется для создания объекта, используемого для обучения. Наконец-то:

var multiMarkerLearning = new THREEx.ArMultiMakersLearning(arToolkitContext, subMarkersControls)

Пример сайта для учащихся имеет несколько функций полезности, но, насколько я знаю, наиболее важными здесь являются члены ArMultiMakersLearning, которые можно использовать в следующем порядке (или в любом другом) :

// this method resets previously collected statistics
multiMarkerLearning.resetStats()

// this member flag enables data collection
multiMarkerLearning.enabled = true 

// this member flag stops data collection
multiMarkerLearning.enabled = false

// To obtain the 'learned' data, simply call .toJSON()
var jsonString = multiMarkerLearning.toJSON()

Вот и все. Если вы сохраните jsonString как

localStorage.setItem('ARjsMultiMarkerFile', jsonString);    

, то он будет использоваться в качестве файла мультимаркера по умолчанию позже. Если вам нужно произвольное имя или несколько областей - вам придется изменить имя в исходном коде .

3) 2.1.4 debu gUI

Кажется, что интерфейс отладки не работает - кнопки пользовательского интерфейса существуют, но их нигде не видно. Оперативным исправлением будет использование стиля span 'markersAreaEnabled' для div
, содержащего кнопки (см. source bit).

Все это в этом сбое , вы можете найти его под фразой «ИЗМЕНЕНИЯ ЗДЕСЬ» в коде ar js.

...