2014-07-01 11 views
5

Ich versuche, Beschleunigungsmesser/Gyroskop gesteuertes Spiel in Unity für Android zu implementieren.Unity3D Android Beschleunigungssensor und Gyroskop steuert

Der Benutzer wird die Telefonlandschaft bei 45 Grad betitelt halten. Je nach Neigung wird die Tonhöhe der Kamera gesteuert. Abhängig von seiner Rolle wird das Gieren der Kamera gesteuert.

Ich habe sowohl auf dem Beschleunigungsmesser und Gyroskop gelesen, aber kann nicht verstehen, wie es angewendet werden kann, um zu passen, was ich brauche.

+0

Haben Sie es herausgefunden? ich brauche das – user2997154

Antwort

6

Kamera von dem Beschleunigungsmesser steuern Sie ein Tiefpassfilter verwendet werden sollte, weil die rohen Daten des Beschleunigungsmessers Art und Weise zu viel Lärm in nervöse Bewegung haben

public float AccelerometerUpdateInterval = 1.0f/100.0f; 
public float LowPassKernelWidthInSeconds = 0.001f; 
public Vector3 lowPassValue = Vector3.zero; 


Vector3 lowpass(){ 
     float LowPassFilterFactor = AccelerometerUpdateInterval/LowPassKernelWidthInSeconds; // tweakable 
     lowPassValue = Vector3.Lerp(lowPassValue, Input.acceleration, LowPassFilterFactor); 
     return lowPassValue; 
    } 

mit der Methode Tiefpass-() anstelle von Input.acceleration resultierenden macht eine reibungslose Kamerabewegungen, wenn auf die Kameras Rotation angewendet,