2017-07-31 2 views
1

Je crée une application AR iOS qui utilise ARToolkit pour Unity3D. Mon objectif est de créer une interface utilisateur en mode World Space afin que lorsque je pointe la caméra du téléphone vers une image, celle-ci affiche l'interface utilisateur en 3D (par exemple, sélectionner des produits ou faire défiler la liste d'informations, etc.).Aucun événement lorsque le mode de rendu Canvas est défini sur World Space

Instructions je suivais:

https://github.com/artoolkit/ar6unity-wiki/wiki/Setting-Up-Your-First-ARToolKit-for-Unity-Scene

https://github.com/artoolkit/ar6unity-wiki/wiki/ARToolKit-for-Unity-on-iOS

Je n'ai aucun problème à faire l'interface utilisateur en mode Render = Espace écran de superposition. Cela signifie que le canevas de l'interface utilisateur est "fixé" sur l'écran indépendamment du mouvement de la caméra. Toutefois, lorsque j'utilise World Space, les événements d'entrée tactile de l'interface utilisateur ne se déclenchent pas. Voici le réglage de mon projet:

Marqueur2 est l'endroit où la détection d'image se produit. Ensuite, il devrait montrer 2 cubes et 1 toile de l'interface utilisateur avec le bouton et faites défiler vue (en dehors de cette capture d'écran - ne pas d'importance en ce qui concerne ce)

enter image description here

Ce sont mes propriétés de toile. Notez que je l'ai mis dans la couche par défaut pour l'interface utilisateur et affichera le mode de rendu = Space World:

enter image description here

OK, je tenais mon image et il détecte et montre 2 cubes et le bouton. Mais tout clic ou toucher sur le bouton n'a aucun effet. Auparavant dans la couche d'interface utilisateur et la superposition de l'espace d'écran, je peux appuyer sur le bouton et cela fonctionne bien (en gros, sortir du texte dans la console - peu importe).

enter image description here

Quoi qu'il en soit j'ai essayé de tester un nouveau projet où je ne l'utilise pas ARToolkit mais juste une caméra régulière. Tout fonctionne bien. Cela a donc certainement quelque chose à voir avec ARToolkit qui interrompt les événements tactiles mobiles.

Aidez-moi et aidez-moi à indiquer pourquoi l'entrée tactile mobile ne fonctionne pas dans ARToolkit avec UI World Space.

Répondre

1

Ceci est vraiment un truc de truc dans l'unité.

Vous devez comprendre les éléments suivants:

  • Si vous modifiez le canevas à l'espace du monde, toile recherchera un appareil photo avec l'étiquette « MainCamera » et l'utiliser comme l'appareil photo à effectuer la diffusion.

    enter image description here

  • Si l'appareil photo avec le « MainCamera » tag ne se trouve pas, Unity utiliser l'appareil photo qui a mis dans la toile de fente caméra événement.

    enter image description here

  • Enfin, si l'appareil photo avec le « MainCamera » tag ne se trouve pas, et il n'y a pas de jeu de caméra dans la toile de fente Caméra événement, il aura pas raycast et Votre interface utilisateur n'enverra aucun événement.

Donc soit vous devez changer le tag de la caméra à « MainCamera » ou branchez l'appareil photo principal à la fente Caméra événement dans le canevas ou effectuer les deux actions si son ne fonctionne pas avec le artoolkit. A partir de la capture d'écran que vous avez publiée, cet emplacement n'est pas affecté car il indique "Aucun".

+0

Il s'agit d'une impression très importante qui ne mentionne nulle part. JE VOUS REMERCIE. Tout ce que je devais faire était de mettre la balise MainCamera dans l'objet caméra statique ARToolkit. Duh! –

+0

Vous êtes les bienvenus! Parfois, Unity ne mentionne pas de choses dans le DOC et vous devez les comprendre en faisant des erreurs. – Programmer