J'essaie de créer une application AR en utilisant Unity & Vuforia. J'ai un modèle 3D qui doit être créé lorsque le plan au sol est détecté.Mais cela ne doit se produire qu'une seule fois… .. À la façon dont Vuforia fonctionne, il continue à générer des objets en cours de reproduction lorsqu'un nouveau plan est détecté. Donc, ce que je dois faire, c'est détecter un plan une seule fois ou générer l'objet une seule fois. Comme je suis nouveau à Unity, j'ai besoin d'aide pour le faire. Parfait si quelqu'un pouvait me dire ce que je dois faire pour atteindre cet objectif.
Dans votre application, vous devriez avoir un objet Plane Finder
quelque part avec les propriétés suivantes définies par défaut
L'objet Plane Finder
est associé à un composant Behavior qui appelle une méthode Position Content
si un plan est trouvé. Cette méthode appartient au Content Positioning Behaviour
et crée une instance (clone) de votre Ground Plane Stage
. Afin d'éviter plus d'une instance, vous devez importer le script vuforia Deploy Stage Once
situé ici: https://library.vuforia.com/articles/Solution/ground-plane-guide.html et vous devez modifier le Plane Finder Behaviour
en tant que le suivant:
Je me suis longuement attardé dessus, en bref, nous devons désactiver AnchorInputListenerBehaviour après avoir touché . 1.- J'ai joint un nouveau script sur PlaneFinder avec le code ci-dessous:
<!-- language-all: c# -->
public void OnInteractiveHitTest(HitTestResult result)
{
var listenerBehaviour = GetComponent<AnchorInputListenerBehaviour>();
if (listenerBehaviour != null)
{
listenerBehaviour.enabled = false;
}
}
2.- J'ai ajouté un événement sur le comportement de Plane Finder
C'est tout, j'espère que ce sera utile