2016-05-24 21 views
1

Guten Tag.Einheit C# Gerät Bewegungsrichtung erfassen

Ich möchte eine App machen, die der Gerätebewegung sehr nahe kommt.

Im Beispiel: Wenn sich das Gerät rückwärts bewegt, sollte sich das Unity 3D-Objekt rückwärts bewegen, wenn vorwärts, dann geht das Objekt vorwärts in 3D-Umgebung, dann gleich und für links und rechts.

Wie auch immer die Workaround, die ich gegoogled habe brachte mich nur zum Beschleunigungsmesser, die ich nicht brauche, da Beschleunigungsmesser verwendet wird, um die Neigung und nicht tatsächliche Bewegung zu erkennen. Also ich wollte fragen, ist das überhaupt möglich, um die Bewegung des Gerätes in Einheit zu erkennen? Wenn ja, nach welchen Klassen sollte ich suchen, um zu erreichen, was ich will.

Vielen Dank im Voraus.

+0

Aber Sie tun genau dies mit dem Beschleunigungsmesser. Sie können auch das Gyroskop ausprobieren. Es ist eigentlich extrem einfach - eine Codezeile. bitte google, da es Tausende von Beispielen gibt. – Fattie

+0

hat niemand eine Idee? –

+0

Es ist absolut unmöglich zu wissen * absolut * den genauen Punkt im Raum des Gerätes - natürlich. Wenn du an so etwas denkst, vergiss es einfach und tu etwas anderes. – Fattie

Antwort

1

Jow Blows Kommentar ist korrekt: Der Beschleunigungssensor gibt die Beschleunigung (Sie sagen nicht). Tilt kann von der Menge der Beschleunigung gefunden werden, aber andere Bewegungen werden auch gesehen. Wenn Sie still stehen und sich vorwärts bewegen, zeigt Ihr Beschleunigungsmesser den Wert an (seit Sie beschleunigt haben).

Es gibt kein Gerät, das misst, wenn Sie sich vorwärts bewegen mit konstanter Geschwindigkeit auf Ihrem Telefon. Wenn Sie etwas Physik kennen, finden Sie mehr offensichtlich, warum der Beschleunigungsmesser nicht funktioniert: weil konstante Geschwindigkeit bedeutet, dass die Resultierende der Kräfte Null ist. Es gibt also keine Kraft, die man entdecken könnte.

Wenn Sie eine konstante Geschwindigkeit ermitteln und eine größere Entfernung planen möchten, können Sie jedoch versuchen, die GPS-Position zu verwenden. Wenn Sie jedoch eine hohe Genauigkeit benötigen, können Sie dies nicht mit einem Standard tun Gerät.

Vergessen Sie nicht, die Bewegung mit konstanter Geschwindigkeit auf kurze Entfernung leicht zu erkennen. Eine Lösung könnte darin bestehen, eine Beschleunigung zu erkennen und die daraus resultierende Richtung und Geschwindigkeit abzuschätzen (Geschwindigkeit = Zeit * Beschleunigung). Diese Methode wird nicht wirklich präzise sein, da sich ein Fehler addieren wird, aber es könnte ausreichen