web-dev-qa-db-fra.com

A-Frame & ar.js: Plusieurs marqueurs et boîtes

Existe-t-il une preuve de concept sur la manière de mettre en œuvre plusieurs marqueurs RA avec A-Frame?

Ex. Quelque chose comme ceci: https://www.youtube.com/watch?v=Y8WEGGbLWlA

 enter image description here

La première vidéo d'Alexandra Etienne dans cet article correspond à l'effet recherché (plusieurs "marqueurs" distincts avec un contenu distinct): https://medium.com/arjs/area-learning-with-multi-markers -in-ar-js-1ff03a2f9fbe

Je ne sais pas trop si, lorsqu’ils utilisent plusieurs marqueurs, ils doivent être proches les uns des autres/exister dans la même vue de caméra.

Cet exemple du référentiel ar.js utilise plusieurs marqueurs mais ils sont tous de types différents (c’est-à-dire qu’un est un marqueur Hiro, un marqueur est un marqueur Kanji, etc.): https://github.com/jeromeetienne/AR. js/blob/master/aframe/examples/multiple-independent-markers.html

7
Victor

Essayé d’expérimenter avec la zone ar.js pendant un certain temps, voici quelques conclusions miennes. 

1) Activer les marqueursAreaEnabled

Pour déclencher le markersAreaEnabled: true que j'ai utilisé

<a-marker type="area"></a-marker>

Essayé aussi avec <a-marker-camera> avec les mêmes résultats que ceux présentés ci-dessous.

2) Apprendre la région.

Assurez-vous que vous avez debugUIEnabled:

<a-scene embedded arjs='sourceType: webcam; debugUIEnabled: true'>

Lorsque vous cliquez sur "Learn-new-marker-area", vous obtenez un menu simple dans le coin inférieur gauche:

enter image description here

désolé pour la qualité, je n’ai même pas d’imprimante pour l’instant, c’est donc un appareil photo LQ qui regarde mon écran.

Au départ, je pensais que je pouvais créer un domaine à partir de modèles hiro et kanji seuls - mais comme vous pouvez le constater - le processus d’apprentissage est en cours, et cela ne semblait pas fonctionner du tout.


Ce n’est que lorsque j’ai placé toutes les images répertoriées dans le debugUI (lien vers les images ici ) que j’ai obtenu des résultats intéressants: enter image description here Il se passe beaucoup de choses ici. Clairement, ar.js crée une zone à 5 marqueurs. Non seulement les nombres sont apparus, mais même Learning est passé de in progess à DONE. Également dans l'onglet d'apprentissage du marqueur, vous pouvez voir que les informations de zone contenant JSON ont été créées: 

enter image description here

Il dit Fichier présent depuis 13m03s.

En cliquant sur l'écran vous ramène à votre site Web. Rien n'indique une erreur dans ce que j'ai fait jusqu'à présent.

3) Les conséquences

Le basculement du marker-helper a révélé la triste vérité:

enter image description here

Seul le marqueur hiro est considéré comme un marqueur (cible?). Une fois qu'il est hors de vue, la boîte disparaît. 

Donc, je suppose que tout cela va directement au ar.js issues }. Et la réponse est "ça ne marche pas bien non". Ce qui est triste, car c'est une fonctionnalité géniale. Si cela fonctionne j'espère que quelqu'un explique ce que je fais mal. Si mon problème suscite des réactions, je mettrai à jour la réponse dès que possible.

JUSQUE LÀ:

enter image description here


Ps:

  • J'ai essayé de reseter la zone
  • J'ai essayé d'effacer le fichier de zone
  • J'ai essayé de cliquer à la fois sur le bouton de pause et n'importe où sur l'écran pendant l'apprentissage de la zone.
  • J'ai essayé d'utiliser d'autres lettres disponibles.
1
Piotr Adam Milewski

Comme @mnutsch l'a déclaré, AR.js fait ce que vous voulez.

Vous pouvez afficher deux modèles différents sur deux marqueurs différents. Si la caméra ne voit pas l’un des marqueurs, le modèle disparaît (ou reste à la place, selon votre implémentation).

La caméra n'a pas besoin de voir les deux.

Capture d'écran: https://www.dropbox.com/s/i21xt76ijrsv1jh/Screenshot%202018-08-20%2011.25.22.png?dl=0

Projet: https://curious-electric.com/w/experiments/aframe/ar-generic/

En outre, contrairement à Vuforia, il n'y a pas de "suivi étendu" - une fois que le code est invisible, vous ne pouvez plus effectuer de suivi.

1
dirkk0