фреймворк min3D. Вращение и движение объекта - PullRequest
1 голос
/ 28 декабря 2011

Я пытаюсь кодировать cessna, летящую по всему миру, используя акселерометр с фреймворком min3D для Android, но вращение немного странное.

Я использую это, чтобы применить вращение акселерометра к объекту:

cessna.rotation().x = rotX;
cessna.rotation().z = rotZ;

Это отлично работает.Я еще не понял, как двигаться в направлении вращения (я думаю, что я должен использовать тригонометрию).

Я повернул объект с помощью

cessna.rotation().y++;

просто чтобы проверить, что произойдет.На 180 ° вращение вокруг оси x отражается.Таким образом, нос самолета поворачивается вниз, а не вверх.Я думаю, что я вращаю Объекты вокруг мировой оси, а не вокруг локальной оси от объекта.Как я могу это сделать?В интернете я не нашел никакой документации о фреймворке min3D: /.

Спасибо, если вы можете мне помочь.(извините за плохой английский)

1 Ответ

0 голосов
/ 28 декабря 2011

Если вы хотите вращаться вокруг локальной оси объекта.Сделайте это

(в псевдокоде - вам нужно найти похожие функции в min3d) Translate(object.pos.x,object.pos.y,object.pos.z); object.rotation().x+=radians(45);// or whatever

, если это не сработает, попробуйте обернуть две вышеупомянутые строки в

pushMatrix()
...
popMatrix()

или аналогичные функции в min 3d для сохранения, а затем восстановления текущей матрицы преобразования вращения камеры.

Есть ли у вассчитается, Обработка, которая также поставляется с «выходом» Android?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...