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

Вниз

GLScene овский редактор ODE: Как можно из него сохранять модели ?   Найти похожие ветки 

 
Алекс А   (2004-06-23 04:00) [0]

GLScene"овский редактор ODE: Как можно из него сохранять модели ?

Решил посмотреть старые демки с ODE, и обранужил, что их сильно переделали. Например, демка machine . Если раньше там, все жоинты и бади писались кодом, то теперь появился визуальный редактор, в котором их можно просто добавлять, удалять, и настраивать. А сам код теперь сводится к одной единственной строчке :
 TGLODEDynamicBehaviour(Pin2.Behaviours[0]).AddForce(AffineVectorMake(-50,0,0));
В ней даётся начальный импульс системе, чтобы она начала двигаться.

Я попытался разобраться где там чего. Пишу, если кому интересно.

Смотрим в GLScene Editor этой демки. Видим несолько кубов и цилиндров. (Wheel, Axle, Pin1, Arm, Pin2, Slider). Это наши графические объекты которым мы придаём физические параметры. А придаём мы их в свойстве TGLBehaviours. Кликаем скажем на Pin1 и на его свойство TGLBehaviours. Появляется окошко редактора Pin1.Behaviours. Там единственный пункт ODEDynamic. Кликаем на него и смотрим его свойства. Здесь самое нужное это TODEElements, так как в нём описываются ODE-шные бади, то есть тела для которых просчитывается физика. Для Pin1 тут было изменено единственное свойство, это Radius, по умолчанию он 0,5, а тут сделали 0,25, чтобы он соответсовал радиусу графического объекта Pin1. Но можно сделать его и больше, и меньше. Таким образом физические размеры объекта задаются независимо от его графических размеров, что в принципе логично.

Дальше объектам надо установить связи. Кликаем для этого на компонент, TGLODEJointList, у него одно свойство Joints, кликаем на него. Открывается окошко редактора с заголовком GLODEJointList1.XCollection , здесь описаны все наши связи между бадями (физическими телами). Кликаем например на строчку "1 - Wheel - Arm" Hinge . ( Hinge - означает соединение в виде петли. ) Смотрим в инспекторе объектов его свойства.
Anchor - это якорь, точка в которой петля рассположена.
Axis   - это ось вдоль которой петля направлена
Manager - это мэнэджер, который руководит работой этого всего. Он один и одинаков для всех GLODEManager1.
Оbject1 и Object2 - это объекты которые петля соединяет. В данном случае Wheel и Arm которые видны в GLScene Editor"е.

В общем всё давольно неплохо сделано. Только непонятно как это всё сохранить. В смысле сохранить не форму полностью, а только отдельно вот эту конкретную Machine с её физикой. Я хочу сделать тут физический автомобиль, а потом его сохранить и загружать по несколько раз. Чтобы было много автомобилей. Что нибудь типа GTA. Но как это сделать ? Есть какие нибудь идеи, мысли на этот счёт ?


 
КиТаЯц ©   (2004-06-23 07:26) [1]

Ну... Я бы так попробовал.
1. Слепить нужную машину в редакторе ODE
2. Слепить рядом вторую в рантайме, так чтобы от первой не отличалась
3. Вынести "слепить рядом вторую" в отдельную процедуру
4. Создать класс что-то типа tODECar. Перенести "слепить вторую" в "конструктор"...


 
Алекс А   (2004-06-24 06:07) [2]


> КиТаЯц ©   (23.06.04 07:26) [1]
> Ну... Я бы так попробовал.
> 1. Слепить нужную машину в редакторе ODE


Слепил : http://tankgame.narod.ru/machine2.html
Ехешник и исходник в архиве.

Два кубика и четыри цилиндра, получилась простейшая модель легковушки в ODE. Само собой пока не обклеенная графикой. Передние колёса вращаются и поворачиваются, задние только поворачиваются.
Теперь вопрос как колёсам придать вращение в нужной плоскости ? А то им почему-то придаётся вращение относительно абсолютной системы координат. А надо же вокруг осей на которых они закреплены. Как это сделать ?

Кому интересно, можете поэксперементировать.



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

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

Наверх




Память: 0.48 MB
Время: 0.059 c
4-1095791292
Dot
2004-09-21 22:28
2004.10.24
Запись в файл и его создание


14-1096769376
Думкин
2004-10-03 06:09
2004.10.24
Сднем рождения! 3 октября


1-1097085805
oleg_
2004-10-06 22:03
2004.10.24
Как можно image вставить в word?


14-1096030700
Гаврила
2004-09-24 16:58
2004.10.24
Какие выбрать нааушники?


8-1088526424
lota
2004-06-29 20:27
2004.10.24
Азбука Морзе