Если поставить false для headQuaternionTracking, то работает нормально?
На счёт этой строчки transform.rotation = new Quaternion(..., ты точно знаешь как работают кватернионы? Потому что это не тоже самое, что углы Эйлера, которые в инспекторе.Добавлено (19 марта 2016, 20:42)
---------------------------------------------
Попробуй вместо transform.rotation = new Quaternion(...);, написать transform.Rotate(accelerationX, accelerationY, accelerationZ); либо transform.Rotate(accelerationX, accelerationY, accelerationZ, Space.World); для поворота относительно мира, хотя учитывая что ты хочешь хаотичного движения, то наверно всё равно.
Добавлено (19 марта 2016, 20:46)
---------------------------------------------
Ещё по-хорошему надо все acceleration умножить на Time.deltaTime: accelerationX *= Time.deltaTime;