![]() |
Модераторы: Rickert, Alexeis, BorisVorontsov |
![]() ![]() ![]() |
|
Salatovec |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 213 Регистрация: 9.1.2008 Репутация: нет Всего: -1 |
Здравствуйте, столкнулся с проблемой - имеется шар и функция глюлукат след. вида:
gluLookAt(Cx+Xpos,Cy+Ypos,Cz+Zpos,Xpos,Ypos,Zpos,0,1,0); Шар перемещаю по оси Y вниз и на экране он, как и должен, летит вниз. Но если я вращаю камеру и смотрю на шар снизу - то шар не летит в камеру, а летит вниз. Как я понял оси перемещаются вместе с камерой. А как их закрепить? З.Ы. извиняюсь если некорректно поставил вопрос, но я надеюсь проблема ясна =\ Заранее спасибо! Это сообщение отредактировал(а) Salatovec - 30.12.2008, 04:11 |
|||
|
||||
Rickert |
|
|||
![]() Ситхи не пройдут! ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3356 Регистрация: 11.7.2006 Где: Лакрима Репутация: 2 Всего: 52 |
Нет, ничего не ясно. Опишите переменные для начала: какая за что отвечает, какая меняется.
-------------------- Ни что не внушает сна крепче, чем день приисполненный трудов! |
|||
|
||||
Salatovec |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 213 Регистрация: 9.1.2008 Репутация: нет Всего: -1 |
Xpos,Ypos,Zpos это координаты шара, меняется Ypos от 0 до 400 с шагом 10.
Cx,Cy,Cz это координаты положения камеры, меняются Cy и Cz, т.к. камеру я вращаю по вертикальной оси, по формулам Cy = 20*sin(angleV); Cz = 20*cos(angleV); где angleV+=M_PI/180 или angleV-=M_PI/180; |
|||
|
||||
Gongex |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 81 Регистрация: 1.1.2008 Репутация: -1 Всего: 0 |
давай я тебе кину исходник для перемещения в 3Д уровне.Я скачивал его на другом сайте.
Дело в том что у тебя Пи и /180 этого мало,потому что в моем исходнике перменных 10-15 для движения в 3Д мире. Чувствительность мыши,велчина передвижения,угол по х,угол по игрек.... дофига,Надо быть физиком что бы такое сделать. Добавлено через 7 минут и 28 секунд И еще,ты не прав.Там не координаты шара....там 9 переменных в глюлокАТ...первые три-это откуда смотрим,вторые три -куда смотрим....Элементарнее тебе сделать gluLookAt(Mx,My,Mz,Cx,Cy,Cz,0,1,0); if VK_LEFT {Cx=Cx-1} if VK_UP {Cy=Cy+1} И шар буде двигаться ,и ты будеть стоять смотреть на месте. |
|||
|
||||
![]() ![]() ![]() |
Вы можете найти полезным что... | |
|
|
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Мультимедия, OpenGL/DirectX | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |