2014-07-01 10 views
5

Próbuję zaimplementować akcelerometr/kontrolowaną grę żyroskopową w Unity na Androida.Sterowanie akcelerometrem i żyroskopem Unity3D Androidem

Użytkownik będzie trzymał telefoniczny krajobraz pod kątem 45 stopni. W zależności od jego nachylenia, będzie kontrolować wysokość kamery. W zależności od jego roli będzie kontrolować zbaczanie kamery.

Czytałem na przyspieszeniomierzu i żyroskopu, ale nie mogę zrozumieć, jak można go zastosować, aby dopasować to, czego potrzebuję.

+0

Czy to wymyśliłeś? potrzebuję tego – user2997154

Odpowiedz

6

kontrolować kamerę z akcelerometru, który trzeba zastosować filtr dolnoprzepustowy, ponieważ surowe dane akcelerometr będzie miał drogę do większego hałasu wynikającego trzęsący się ruch

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; 
    } 

pomocą dolnoprzepustowy() metoda zamiast Input.acceleration wykona płynne ruchy kamery po przyłożeniu do obrotu kamery,

Powiązane problemy