2017-05-20 5 views
0

Ich versuche, eine einfache Szene zu schaffen, wo ein paar Objekte auf den Tisch gelegt werden. Die Objektplatzierung funktioniert perfekt, aber wenn ich das Gerät bewege, driften die Objekte ein wenig herum. Was an einem Punkt die Objekte an der Ecke platziert, fühlt sich an, als wären sie nicht auf dem Tisch, sondern schweben in der Luft.AR Objekte Drift Problem in Google TANGO

Auch in der Sonne Mond und Erde Beispiel in Unity Beispielen hier: https://github.com/googlesamples/tango-examples-unity Die Erde n Mond driftet, wie Sie das Gerät bewegen

Ist das ein Bug oder gibt es eine spezielle Einstellung, die ich vermisst habe?

Antwort

1

Die Objekte driften, da sich das Tango-Gerät im Raum bewegt und nur seine eigene Position im 3D-Raum verfolgt. Damit Objekte in einer dynamischen Umgebung statisch bleiben, muss das Gerät die Position der platzierten Objekte im 3D-Raum und ihre Beziehung zur Umgebung verstehen, um die Objekte zu verankern und die Drift zu reduzieren.

Zum Glück TangoCore hat man hier abgedeckt und die 3 Kerntechnologien von Motion Tracking, Tiefenwahrnehmung und Gebiet Learning alle zusammen arbeiten, um zu helfen.

Wenn mich nicht alles täuscht, die Sonne und Mond Beispiel ist die Szene „SimpleAugmentedReality“ unter tango-examples-unity/UnityExamples/Assets/TangoSDK/Examples/Scenes /

Allerdings, wenn Sie die Objekte im 3D-Raum zu verankern möchten und Drift reduzieren, werden Sie verwenden müssen Flächenlernen und Tiefenwahrnehmung. Das Bereichslernen führt Loop Closures durch, da das Gerät erkennt, dass es einen Bereich zuvor "gesehen" hat und den Pfad und die Markierungen anpasst, um ein genaueres Gerät und eine erweiterte Inhaltsposition bereitzustellen.

Also hier ist, was Sie tun können, um zu lernen, was Sie brauchen. Speichern Sie Ihre aktuelle Szene, öffnen Sie die Szene und folgen Sie diesem Pfad tango-examples-unity/UnityExamples/Assets/TangoSDK/Examples/Scenes / und laden Sie einige der anderen Szenen, um zu verstehen, wie die Technologien ineinander greifen.

Zum Beispiel könnten Sie die ExperimentalMeshBuilderWithColour Szene laden, und lernen, wie die Tiefe Verarbeitung programmatisch funktioniert, und laden Sie dann die MotionTracking Szene und lernen, wie Motion Tracking aus dem TangoManager Spiel Objekt zuzugreifen und zu nutzen. Und schließlich (auch wahrscheinlich frustrierend schwierig) lernen Sie, wie das Gebiet Lernen mit den Szenen AreaDescriptionManagement und AreaLearning verwaltet wird.

Dies wird nicht nur Ihre Drift Probleme lösen, aber Sie haben auch ein viel besseres Verständnis von den Fähigkeiten des Tango-Technologie und ermöglichen es Ihnen, Ihre Ideen viel einfacher auszudrücken.

+0

Danke für die Erklärung .. Also kurz gesagt es ist nicht möglich Drift zu entfernen, nicht wahr? Und yep ich habe Bereich Lernen versucht, aber es immer noch nicht das Drift-Problem zu entfernen. – Uzi

+0

Es ist absolut möglich, Drift zu entfernen, es wäre keine sehr robuste markerlose AR-Technologie, wenn es nicht möglich wäre. Sie könnten versuchen, die Szene mit dem Experimental Mesh Occlusion Exam zu verwenden. Scannen Sie eine Gebietsbeschreibung und generieren Sie gleichzeitig ein Netz. Wählen Sie dann den ADF, den Sie gerade erstellt haben, und starten Sie das Spiel, sobald Sie relocalizing haben, betrachten Sie das Mesh, um es dank der Area Learning-APIs in Position zu halten, und platzieren Sie dann ein AR-Objekt, das seine Position in der realen Welt beibehalten soll. – VRstronaut

+0

In Ordnung, ich werde tiefer in Area Learning + Mesh-Generation graben und sehen, wie es geht. Vielen Dank. – Uzi

Verwandte Themen