Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.04.16;
Скачать: CL | DM;

Вниз

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

 
Drimmon   (2005-09-28 18:07) [0]

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

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


 
NewWonder ©   (2005-09-28 18:18) [1]

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


 
NewWonder ©   (2005-09-28 18:20) [2]

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


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

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


 
XProger ©   (2005-09-28 19:13) [4]

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


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

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


 
XProger ©   (2005-09-29 22:55) [6]

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


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

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


 
XProger ©   (2005-09-30 13:13) [8]

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


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

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


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

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



Страницы: 1 вся ветка

Текущий архив: 2006.04.16;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.026 c
15-1143032206
sBeysenov
2006-03-22 15:56
2006.04.16
Неполная версия Delphi


2-1143833817
kilonet
2006-03-31 23:36
2006.04.16
Добавление записей в удалённую БД (ADO)


15-1143100591
Xception
2006-03-23 10:56
2006.04.16
Generacija TTH hash a na Delphi


4-1138505461
boobl
2006-01-29 06:31
2006.04.16
получение сообщения от иконки в трее


2-1143977702
Belorus
2006-04-02 15:35
2006.04.16
TclientSocket, TserverSocket. Где найти ?