Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Игры";
Текущий архив: 2003.04.10;
Скачать: [xml.tar.bz2];

Вниз

Как прикрепить камеру к объекту   Найти похожие ветки 

 
APTEMKA   (2002-10-23 02:25) [0]

У меня есть координаты объекта
MyHero =
...
X,Y,Z: Double;
...
end;

Вопрос: подскажите как прикрепить(расчитать) камеру к этим координатам используя к примеру gluLookAt() или что нибудь другое.

procedure glDraw();
begin
...
Map.Draw();
// вопрос, где этот код поворота камеры вставить?
MyHero.Draw();
...
end;


 
Ketmar   (2002-10-23 10:40) [1]

glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(60.0, ClientWidth / ClientHeight, 1.0, 4096.0);
gluLookAt(X, Y, Z, // pos
что, угодно, барин, // target
вверх, торчит, вектор); // up
glMatrixMode(GL_MODELVIEW);
...


Satanas Nobiscum! 23-Oct-XXXVII A.S.


 
APTEMKA   (2002-10-28 02:34) [2]

Ребята извените что так долго не писал проблемы с инетом были.
Спасибо что ответил.
Ketmar я может не правильно сказал, но как эта функция работает я знаю, у меня в другом проблема (в математике).
Мне нужно расчитать как раз этот вектор (X, Y, Z, // pos как ты написал.
Если у тебя есть готовая функция пошли на мыло или если можешь объясни так.
У меня есть две переменные
первая 0..360 горизонтальное перемешение мыши
вторая -60..60 вертикальное перемешение
Вот в зависимости от их значений надо расчитать эти координаты.
Спасибо.


 
APTEMKA   (2002-10-28 22:10) [3]

Ребята если кто знает ответьте пожалуйста.


 
Gandalf   (2002-10-29 14:38) [4]

Не совсем ясна задача, точнее что дано. Для LookAt нужы точка откуда смотришь, точка куда смотришь, и вектор направленый " небо". Что ты не можешь из этого рассчитать, и что у тебя есть?


 
APTEMKA   (2002-10-30 00:45) [5]

Мне нужна точка откуда смотришь.


 
APTEMKA   (2002-11-01 01:35) [6]

Нашел решение, короче пока на бумаге не обмозгуешь ни чего не поймёшь. Если кому нужен код, вот он.

gluLookAt(MyHero.X+
(Cos(DegToRad(Heading))*(CameraLength*sin(DegToRad(Tilt)))) ,
MyHero.Y+0.6+cos(DegToRad(Tilt)),
MyHero.Z+
Sin( DegToRad(Heading)) *(CameraLength*sin(DegToRad(Tilt))),
MyHero.X,
MyHero.Y+0.6,
MyHero.Z,
0,1,0);

0<Heading<360
0<Tilt<180


 
Stucker   (2002-11-09 20:18) [7]

Удалено модератором


 
APTEMKA   (2002-11-09 22:33) [8]

Удалено модератором


 
Stucker   (2002-11-10 20:22) [9]

Удалено модератором



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

Форум: "Игры";
Текущий архив: 2003.04.10;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.007 c
3-30250
Ihtiandr
2003-03-20 17:00
2003.04.10
Как осуществить написанное?


14-30596
ZeroDivide
2003-03-26 09:22
2003.04.10
Утилизация бытового хлама или куда магнитофон девать?


9-30200
Док
2002-10-23 17:07
2003.04.10
Как импортировать 3ds файл в GLScene???????????


1-30393
Артем1
2003-03-30 13:32
2003.04.10
иконки


1-30412
апр
2003-03-30 20:36
2003.04.10
Создание отчёта в Excel





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский