![]() |
|
|
#1
|
||||
|
||||
![]() Делаю 3D комнату по которой можно перемещаться. Перемещаюсь через glTranslateF, изменяю направление через glRotateF.
Суть проблемы: при повороте камеры поворачивается вся система координат, и в итоге при последующей попытке передвинуться в любую сторону мы двигаемся в том же напрпвлении, в котором двигались при неповернутой системе. Gravitas |
#2
|
||||
|
||||
![]() код расчета координат перемещения в студию!
|
#3
|
||||
|
||||
![]() Цитата:
Gravitas |
#4
|
||||
|
||||
![]() Теория:
Допустим у вас есть некий персонаж, который перемещаться по комнате в заданном направлении. Для того чтобы перемещаться в заданном направлении, нужно брать в расчет 1. собственные координаты (x,z) 2. направление вектора(куда смотрит персонаж). Это Sin, и Cos(при единичной длине вектора) Эти величины нам известны. Зная направления вектора, находишь приращения dx, dz. И потом прибавляешь эти значения к собственным координатам. И так далее.. |
#5
|
||||
|
||||
![]() Можно ссылочку на более подробную теорию...
Gravitas |
#6
|
||||
|
||||
![]() ![]() ![]() можешь скинуть проект. попробую что-нибудь накатать. а дальше по ходу дела, что будет не понятно объясним |