Главная страница
    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.46 MB
Время: 0.031 c
14-1096571265
123
2004-09-30 23:07
2004.10.24
Мобильная связь и расплата за пользование.


1-1097169006
F1
2004-10-07 21:10
2004.10.24
Как узнать нажата ли только что созданая кнопка?


14-1097060126
Рамиль
2004-10-06 14:55
2004.10.24
Захват ролей котроллеров домена


8-1088930530
VVV
2004-07-04 12:42
2004.10.24
Обмен переменными между Flash ем и Delphi


3-1095861438
Koala
2004-09-22 17:57
2004.10.24
Hint в выпадающем списке DBLookUpComboBox





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский