2016-08-29 2 views
0

Kürzlich arbeite ich an einem Spiel in iOS und versuche, ein Feature wie Pokemon Go Spiel, wo ein Objekt in einer bestimmten Position bleibt und versuchen, dieses Objekt von Kamera zu finden.Berechne Objektposition unabhängig von der Kameraausrichtung in Augmented Reality

So las ich einige Tutorial und bekam etwas Hilfe von diesen Artikel:

Augmented Reality Tutorial for iOS from Ray Wenderlich Blog
Augmented Reality iOS Tutorial: Location Based from Ray Wenderlich Blog

Aus diesem Tutorial ich nur zur Orientierung in einem Gerät Objekt aus Kameraansicht finden erfolgreich abgeschlossen. Nur Landschaft links & Landschaft Rechts funktioniert, aber wenn ich mein Gerät von Querformat zu Hochformat rotiere, läuft das Objekt weg und kann nicht in der Kamera sehen, wenn ich auf dieselbe Position deute.

Mein Problem: Wie kann ich die Position eines Objekts unabhängig von der Ausrichtung der Kamera berechnen, von Querformat zu Querformat und umgekehrt? Was ist die mathematische Berechnung für die Handhabung in unterschiedlicher Orientierung?

+0

Bitte fragen Sie, wenn es etwas gibt, dass ich muss mehr klären, oder jede Art und Weise, in der ich die Frage verbessern kann. Ich muss das dringend wissen. Ich hätte sofort Bounty darauf gesetzt, wenn ich könnte, aber ich muss für 2 Tage :-( –

Antwort

1

das Ding ist ziemlich einfach aus mathematischer Sicht. Um das zu erreichen, müssen Sie wissen, wo sich das Objekt in der realen Welt befindet. Zum Beispiel benötigen Sie GPS-Koordinaten des virtuellen Objekts. Auf dieser Grundlage müssen Sie den Azimut dieses Standorts ermitteln. Der nächste Schritt besteht darin, zu zählen, auf welchen Azimut der Benutzer durch die Kamera blickt. Berechnen Sie es in Grad, damit Sie ein Ergebnis haben < 0, 360)

Wenn Sie beide Ergebnisse haben, müssen Sie überprüfen, ob der Azimut, den Sie suchen, in Ihrem Sichtfeld ist. Zum Beispiel, wenn wir annehmen, dass Sie Azimut 0 betrachten und Ihr Sichtfeld 180 Grad ist, dann sehen Sie alles aus < 90, 0), < 0, 270>

+0

Danke für Ihre Antwort. Bitte können Sie mir die Implementierung oder Tutorial Link zur Verfügung stellen? Brauche eine ausführliche Erklärung. –

+0

Nein, tue ich nicht habe etwas wie das. Ich schrieb suche Code vor einiger Zeit. Es beruft sich auf die Technologie, die Sie verwenden. – Fixus

+0

Vielen Dank für Ihre Antwort –

Verwandte Themen