Главная страница
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.029 c
2-1143867577
Homakk
2006-04-01 08:59
2006.04.16
подсветка синтаксиса


2-1144006969
Евгений Р.
2006-04-02 23:42
2006.04.16
Использование tDataBase


2-1143534311
Sw
2006-03-28 12:25
2006.04.16
Путь к БД


15-1143101204
pavel_guzhanov
2006-03-23 11:06
2006.04.16
непонятно чтот происходит с excel


1-1141660248
Алик
2006-03-06 18:50
2006.04.16
Быстро выполнение FillRect