Движение камеры

Работа с 2D и 3D графикой, видео, звуком.

Модератор: Mikle

yorik
Начинающий
Начинающий
 
Сообщения: 2
Зарегистрирован: 13.09.2003 (Сб) 10:35
Откуда: Krasnoyarsk

Движение камеры

Сообщение yorik » 07.05.2004 (Пт) 19:20

Помогите плз, не могу сделать, чтобы камера двигалась за объектом по 3-м осям (в смысле при вращении по осям). По двум движется нормально, но по 3-ей оси глючит. Пример: движение камеры за космическим кораблем или самолетом. Можно даже чтобы она строго стояла за объектом, лишь бы следовала за ним.

d3drm
Астролог
Астролог
Аватара пользователя
 
Сообщения: 2873
Зарегистрирован: 29.05.2002 (Ср) 23:34
Откуда: МаСКвА

Сообщение d3drm » 08.05.2004 (Сб) 9:59

u tebya primer est'? vylozhi, mozhet che-nit' pridumaem!
ХЎ

d3drm
Астролог
Астролог
Аватара пользователя
 
Сообщения: 2873
Зарегистрирован: 29.05.2002 (Ср) 23:34
Откуда: МаСКвА

Сообщение d3drm » 08.05.2004 (Сб) 10:01

u tebya primer est'? vylozhi, mozhet che-nit' pridumaem!
ХЎ

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Сообщение Mikle » 08.05.2004 (Сб) 16:59

Все зависит от того, как у тебя задана позиция объекта. Например:

X, Y, Z - координата центра объекта.
vec3(DX, DY, DZ) - вектор направления "вперед", имеется ввиду не вектор скорости, а куда направлен нос самолета.
vec3(UX, UY, UZ) - вектор направления "вверх". Опять же имеется ввиду не от земли к небу, а от пола кабины к потолку.
n - расстояние от камеры ло самолета.

Тогда камера будет:
Код: Выделить всё
D3DXMatrixLookAtLH(MatView, vec3(X-DX*n, Y-DY*n, Z-DZ*n), vec3(X, Y, Z), vec3(UX, UY, UZ))


Вернуться в Мультимедиа

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9

    TopList