Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.04.30;
Скачать: CL | DM;

Вниз

Движение в GLScene   Найти похожие ветки 

 
X-Disa ©   (2005-10-09 14:01) [0]

Поставил GLScene,сравнил с DelphiX, и понял, что лучше второе.
Вопрос такой: есть GLSphere, и нужно, чтоб по ее поверхности двигался объект (управление кнопками), а камера двигалась за ним, тоже по поверхности. Подскажите плиз!


 
!Trinix ©   (2005-10-09 17:25) [1]

Это очень легко, делай так:
Создай DummyCube(DC), в него засунь объект и камеру. При нажатии клавиши двигай DC. А если хочешь двигать по сфере, то это тебе уже физика нужна, или я неккоректно понял вопрос?


 
Fosgen   (2005-10-09 21:13) [2]

Ерунда задача.
Создаешь в центре сферы DummyCube, к нему потомком создаешь целевой объект. Позиция потомка - равна радиусу сферы.
По нажатию клавиш - вращаешь на требуемый угол DummyCube. Потомок сам будет по поверхности двигаться. Если надо, чтобы потомок сохранял положение к поверхности сферы - пользуешься либо нормалью этой самой поверхности, либо вычисляешь компенсирующий угол, к повороту DC. А вообще - при предложенном вариане - объект будет всегда скользить по поверхности сферы одной стороной.
Камера - потомком либо к целевому объекту (но он сам - ее цель), либо - к DummyCube (это уже смотри по особенностям задачи).
Всех делов - обрабатывать нажатие кнопок и вычислять угол, на который повернуть DC.
А delphiX, уж слишком примитивная вещь. Я конечно понимаю, разобраться с GLScene не каждый потянет... :) Но возможностей, гораздо больше.


 
Кефир87 ©   (2005-10-09 21:18) [3]

А вообще надо с этим вам всем завязывать. Все равно у API возможностей и гибкости куда больше 8)


 
DeadMeat ©   (2005-10-10 00:40) [4]

А вообще само сравнение весьма оригинально..
Я конечно понимаю, если сравнивались возможности ТОЛЬКО в 2Д.. но об этом ничего не сказано..

---
...Death Is Only The Begining...


 
Fosgen   (2005-10-10 09:34) [5]

Никто не спорит, "чистый" OGL гораздо пластичнее, мощнее, производительнее. Но начинать я бы посоветовал с GLScene. DelphiX - скорее просто баловство, из общения с ним мало чего полезного вынести можно. А ГЛСцена позволяет понять основные принципы построения игры, хранения данных, организации тех или иных объектов, их свойств. Если еще копаться в исходниках - можно вообще много чего узнать. Например - применение класов, наследование и т.д. Так что на первых порах - это поучительно. А когда начинаешь писать что-нить серьезное, то постепенно утыкаешься в основные ограничения ГЛСцены - низкая производительность, универсальность за счет скорости, тогда начинаешь постепенно писать что-то свое. То один модуль заменяешь на свой, то другой. В результате - получаешь движок, заточенный и оптимизированный под конкретный проект.
И дальше уже ползуешься своими наработками. Вроде все довольны?


 
!Trinix ©   (2005-10-10 11:33) [6]

Смешно даже!
Ведь GLScene - надстройка над OGL, а не какой-то супер сам-по-себе движок. Там даже есть спец. графа для письма в OGL.


 
Кефир87 ©   (2005-10-10 20:38) [7]

В глаза это ГЛСцен не видел. Сразу с ОГЛ АПИ начал... Сложно конечно... Ну вот уже полгода изучаю... Не оч. далеко ушел 8)


 
X-Disa ©   (2005-10-11 11:05) [8]

Вообще-то общая идея игры такая: Есть космическое пространство (сфера), в центре находится звезда.
Вокруг летают планеты, астероиды, корабли, и остатки всего этого. Но корабли летают не свободно, а по поверхностям уровней (типа вложенных невидимых сфер), и могут подниматся и опускатся на нужный уровень.

Уже сделал маленький свободно летающий кораблик :)

Вопрос еще такой, как лучше организовать звездное небо? SkyBox даже с самой простенькой текстуркой жутко тормозит :(


 
DeadMeat ©   (2005-10-11 11:52) [9]


> Вопрос еще такой, как лучше организовать звездное небо?
> SkyBox даже с самой простенькой текстуркой жутко тормозит
> :(

На сферу натяни и сферу присобачь к камере.
Или тоже самое с кубом. На темном небе не будет видно ни стыков ни полосочек.. Если правильно сделать.


 
X-Disa ©   (2005-10-11 12:04) [10]

Есть еще один вопрос, вот когда камера снаружи сферы и смотрит на нее  - все ок, но когда камеравнутри - сферы как бы и нет. Как отобразить ее внутреннюю поверхность?


 
DeadMeat ©   (2005-10-11 12:44) [11]

Отключи куллинг и инвертируй нормали (или одно из двух... я щас не помню)


 
X-Disa ©   (2005-10-11 13:10) [12]

А как это сделать? :(


 
X-Disa ©   (2005-10-11 13:11) [13]

А, уже нашел - Normal Direction - ndInside


 
X-Disa ©   (2005-10-11 13:18) [14]

Тестура - 50x50, а FPS - 7 ! Как ускорить?


 
DeadMeat ©   (2005-10-11 13:40) [15]

Использовать не 50х50 а что нить, что является степенью двойки.
32х32
64х64
и т.п.
Но одна такая текстура в одном месте не может так сильно тормозить...


 
X-Disa ©   (2005-10-11 16:06) [16]

Еще один вопрос, ламерский наверно. Для чего нужен DummyCube?


 
DeadMeat ©   (2005-10-11 16:28) [17]

Это контейнер.
В него удобно что-либо помещать для работы. А потом обращаться к его чилдренам. Сам он не видим (пока не выставить свойство VisibleAtRunTime) и не рендериться. Это просто коробка, куда можно складывать другие объекты.
Повернул его - повернул и всех, кто внутри.


 
Da Stranger ©   (2005-10-11 17:14) [18]


> Еще один вопрос, ламерский наверно. Для чего нужен DummyCube?

Ответ на него есть даже в FAQ по GLScene. А так DeadMeat всё правильно рассписал. Добавить могу лишь то, что если объекты создаются динамически, то как контейнер можно использовать GLBaseSceneObject: он родитель многих классов в GLScene.



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

Текущий архив: 2006.04.30;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.027 c
15-1144522375
kaZaNoVa
2006-04-08 22:52
2006.04.30
Как Вы относитесь к пикаперам?


15-1144329797
oldman
2006-04-06 17:23
2006.04.30
А вы готовы к наводнению?


2-1144760457
ANB
2006-04-11 17:00
2006.04.30
Как в Ворде заменить кусочек параграфа ?


8-1133281092
hgd
2005-11-29 19:18
2006.04.30
Чистка изображения


3-1141649889
ZZZ111
2006-03-06 15:58
2006.04.30
Конвертор Excel - DBase