Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

OpenGL движение и вращение камерой в 3D


Drimmon ©   (2005-09-28 18:07:00) 

Расскажите, как управлять камерой в 3D (имитация движения корабля в космосе)?
Желательно по шагам:
1) Нажатии клавиши поворота (как задаются углы крена, рысканья, тангаж);
2) Нажатии клавиш перемещения (как задавать координаты камеры);
3) Предварительные расчеты;
4) Отрисовка кадра;

В интернете много информации об этом (углы Эйлера, Матрицы, Кватернионы), но практической реализации я не нашел. К тому же эти способы комбинируют кто, как хочет.
Помогите разобраться.


Drimmon   (2005-10-03 20:48:00) [1]

Извините за последний вопрос. =)
Стормозил. Пора отдохнуть от компа.


Drimmon   (2005-10-03 20:40:00) [2]

Попробовал. Получилось. Но вращение по вертикали ограничено 180 градусами, т.е. мертвую петлю не сделаешь. =)
Вчем причина этого?


XProger   (2005-09-30 13:13:00) [3]

Очерёдность всегда постоянна


Drimmon   (2005-09-30 11:28:00) [4]

Правильно ли я понял?
Если мы управляем самолетом от первого лица и выполняем фигуры высшего пилотажа, то при вращении, в определенные моменты времени очередность матриц в произведении меняется? А выбор этой очередности зависит от текущих углов поворота.
Если да то, какие? И не будет ли рывков при смене очередности множителей?


XProger   (2005-09-29 22:55:00) [5]

Соответственно умножать матрицы не ZXY, а ZYX если я правильно тебя понял :)


Drimmon   (2005-09-29 20:10:00) [6]

XProger, спасибо. Интересные работы.
Но вот какой вопрос:
В данной работе, если поднять камеры вверх, то вращение в стороны не происходит. Вместо этого персонаж вращается вокруг своей оси.
Как сделать, чтобы игрок поворачивал голову в стороны в независимости от того, смотрит ли он прямо или вверх (как в симуляторах полетов)?


XProger   (2005-09-28 19:13:00) [7]

http://xproger.mirgames.ru/?id=1&doc=camera
Примеры игр с использованием этой камеры там же на сайте...


Drimmon   (2005-09-28 19:08:00) [8]

Хочется посмотреть на практическую реализацию. Вы можете помочь?


NewWonder   (2005-09-28 18:20:00) [9]

1) glRotatef
2) glTranslatef
3) uses Math;
Обо всём подробно рассказано в книге Михаила Краснова. Советую приобрести и вопросы пропадут.


NewWonder   (2005-09-28 18:18:00) [10]

Краснова в зубы и вперёд (с) me :)


Наверх

Титульная страница Поиск, карта сайта Написать письмо