2017-08-28 8 views
0

Ich arbeite an einem POC mit der Probe von Apple https://developer.apple.com/sample-code/wwdc/2017/PlacingObjects.zip geliefert.Wie finden Sie Hindernisse in der horizontalen Oberfläche mit ARKIT von iOS 11 (Scenekit)?

Im Moment funktioniert Platzierung Objekt gut nach Erkennung der Oberfläche. Aber wenn ich das Objekt von der erkannten Oberfläche zu einem anderen Raum wie Wänden oder einem Hindernis bewege, überschneidet es sich mit dem 3D-Objekt.

Ist es möglich, Hindernisse beim Platzieren/Bewegen des 3D-Objekts durch die Kamera zu erkennen? Gibt es in ARKit eine API, um das Hindernis in der Oberfläche zu finden?

Wenn nicht, gibt es eine Problemumgehung oder eine Berechnung, die wir tun können, um das Hindernis/die Wand zu finden und den Benutzer nicht über das Hindernis/die Wand zu stellen/bewegen?

+1

In Bezug auf die Wände und solche, Arkit ist noch nicht senkrechten Flächen zu erfassen. Es könnte also ein Problem mit der Erkennung dieser oder sogar nicht horizontaler Oberflächen geben. Die einzigen "Hindernisse", die es entdecken könnte, sind andere virtuelle Objekte, die Sie platziert haben, und Sie können mit diesen umgehen, indem Sie mit Kollisionen umgehen und ihnen physikalische Körper geben. Leider glaube ich nicht, dass Sie in der Lage sein werden, das zu tun, was Sie suchen. –

+0

@AlanS Gibt es eine Möglichkeit, herauszufinden, ob der Raum des virtuellen Objekts, über den es platziert ist, eine horizontale Fläche ist oder nicht? – yaali

+0

Sorry, ich habe das nicht besonders verstanden. Meinst du den Raum über dem Objekt oder den Raum, über dem das Objekt ist? Für Raum über Objekt bin ich mir nicht sicher, wie Sie das überprüfen könnten. Für Platz unter einem Objekt können Sie im Wesentlichen die Erkennung von horizontalen Ebenen verwenden. –

Antwort

1

Die kurze Antwort in diesem Stadium ist nein, leider.

Das Erkennen von vertikalen Ebenen oder Objekten in einer Szene ist ziemlich schwierig. Mein Verständnis ist, dass Apple an der Erkennung vertikaler Ebenen arbeitet, und dass es einige Startups gibt, die das Objekterkennungskram erledigen.

Die beste Option wird sein, auf 6d.ai zu warten, da dies das ist, woran sie arbeiten (obwohl sie im Stealth so schwer genau zu sagen sind).

Wenn Sie Erfahrung mit Core ML haben, können Sie ein Objekterkennungsmodell verwenden, um Objekte in einer Szene zu erkennen und diese als Proxy für nicht zulässige Geometrie zu verwenden. Es gibt auch Matroid, die Objekterkennung/Tracking-Funktionen bieten.

Die folgenden sind keine spezifischen ARKit/iOS-Beispiele, können Ihnen aber später helfen.

Vuforia hat Unterstützung für die Szenen Verstehen: https://library.vuforia.com/articles/Training/Getting-Started-with-Smart-Terrain

Hololens Art hat die Unterstützung für sie auch: https://elbruno.com/2017/04/21/hololens-spatial-understanding-vs-spatial-mapping-and-a-step-by-step-on-how-to-use-it/

Verwandte Themen