Ich versuche, eine AR-App mit Unity & Vuforia zu erstellen. Ich habe ein 3D-Modell, das erstellt werden muss, wenn die Bodenebene erkannt wird. Dies muss jedoch nur einmal geschehen. Die Art und Weise, in der Vuforia arbeitet, erzeugt immer Objekte, wenn eine neue Ebene entdeckt wird. Was ich also tun muss, ist, entweder die Ebene nur einmal zu erkennen oder das Objekt nur einmal zu erzeugen. Da ich neu bei Unity bin, brauche ich Hilfe dabei. Toll, wenn mir jemand sagen könnte, was ich tun muss, um das zu erreichen.
In Ihrer App sollten Sie ein Plane Finder
-Objekt mit den folgenden Eigenschaften haben, die standardmäßig festgelegt sind
Dem Plane Finder
-Objekt ist eine Verhaltenskomponente zugeordnet, die eine Position Content
-Methode aufruft, wenn eine Ebene gefunden wurde. Diese Methode gehört zu Content Positioning Behaviour
und macht eine Instanz (Clone) Ihres Ground Plane Stage
. Um mehr als eine Instanz zu vermeiden, sollten Sie das vuforia-Deploy Stage Once
-Skript hier importieren: https://library.vuforia.com/articles/Solution/ground-plane-guide.html und Sie sollten den Plane Finder Behaviour
ändern folgende:
Ich kämpfte lange damit, kurz gesagt, wir mussten AnchorInputListenerBehaviour nach Treffer deaktivieren . 1.- Ich habe ein neues Skript bei PlaneFinder mit folgendem Code angehängt:
<!-- language-all: c# -->
public void OnInteractiveHitTest(HitTestResult result)
{
var listenerBehaviour = GetComponent<AnchorInputListenerBehaviour>();
if (listenerBehaviour != null)
{
listenerBehaviour.enabled = false;
}
}
2.- Ich habe ein Ereignis zum Plane Finder Behavior hinzugefügt
Das ist alles, ich hoffe es wird nützlich sein