Я тестирую код акселерометра в Unity3D 4.3. То, что я хочу сделать, - это просто изменить угол объекта, наклоняя ipad, чтобы подделать угол обзора, как настоящий live. Все работает отлично, за исключением того факта, что акселерометр слишком чувствителен, и я вижу, что GameObject похож на мерцание, даже если я положил его на стол. Как я могу сделать его менее чувствительным, так что даже когда вы держите рукой, угол изменится в зависимости от наклона, и объект останется устойчивым?unity3d - Чувствительность акселерометра
Вот мой код:
void Update() {
Vector3 dir = Vector3.zero;
dir.x = Mathf.Round(Input.acceleration.x * 1000.0f)/1000.0f;
dir.y = Mathf.Round(Input.acceleration.y * 1000.0f)/1000.0f;
dir.z = Mathf.Round(Input.acceleration.z * 1000.0f)/1000.0f;
// clamp acceleration vector to the unit sphere
if (dir.sqrMagnitude > 1)
dir.Normalize();
// Make it move 10 meters per second instead of 10 meters per frame...
dir *= Time.deltaTime;
dir *= speed;
acx = dir.x;
acy = dir.y;
acz = dir.z;
transform.rotation = Quaternion.Euler(dir.y-20, -dir.x, 0);
}
Я нашел [это] (http://forum.unity3d.com/threads/224147-Are-the-docs-wrong-on-accelometer-low-pass-filter), подумал, что если у кого-то такая же проблема может сэкономить несколько часов. – sooon