Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Несколько вопросов касательно GLScene и 3ds. [Delphi, Windows]


Робототехникъ ©   (2004-12-29 02:11:00) 

Здравствуйте, уважаемые программисты!
Недавно пришлось заняться новым видом деятельности - трехмерным проектированием.
Стоит задача - создать трехмерную модель робота.
Создать так, чтобы ею можно было управлять.
Собственно, модель робота в формате 3ds у меня есть.
Поначитавшись всего понемногу, решил, что для моих целей лучше всего подойдет GLScene, т.к. особых заморочек с инициализацией всего "ручками" там нету. Просто задача у меня иная - отработка методик преобразования координат, а не работа с трехмерной графикой. Для своего робота я уже все рассчитал, остается только вот все это в модели воплотить.
Как кидать на форму необходимые элементы я прочитал и понял, научился с сеткой координат работать, всякие там примитивы выводить и играться с ними. Посмотрел пример с грибочками из демок с сцыну. Могу даже модель своего робота подгрузить. Но, возникает вопрос:
как его анимировать?
Т.е. мне нужно, чтобы пользователь вводил координаты в пространстве, куда надо переместить манипулятор робота, далее работали бы мои преобразования (т.е. на какой угол какую степень свободы повернуть и насколько все это дело переместить), а потом модель уже двигалась бы в данные координаты.
Поясните пожалуйста, как это проще всего сделать?
Что нужно почитать?
Думаю, скелет тут ни к чему, или я не прав?
Или нужно отедьно загружать "куски" робота и уже менять их координаты?
Нельзя ли задавать в данном случае точку поворота, относительно которой поворачивать кусок?
Заранее огромное спасибо всем откликнувшимся!


Кегу   (2004-12-30 07:43:00) [1]


> Робототехникъ   (29.12.04 21:46) [3]
> видел пример с двумя моделями - из cs и кваки.
> там чел либо бежит, либо умирает.


Там скелет и кадры (фреймы) анимации. Каждый фрейм - своё положение скелета. Таким образом кадр за кадром можно делать анимации.
Советую программу http://animiks.narod.ru/


Робототехникъ   (2004-12-30 00:53:00) [2]

спасибо, посмотрю :)


DeadMeat   (2004-12-29 22:34:00) [3]

Попробуй ODE применить. Точнее механику. Ну joint-ы там всякие...
Разбей робота на части, которые движутся. И проведи соответствие координат joint-ов этим частям. Сами joint-ы выставь так, как надо самому роботу. Ну т.е. например руку сделай одним joint-ом, который закрепи на плече. К ней потом локоть и т.п...
С joint-ами есть демка в папке \Demos\physics\machine

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


Робототехникъ   (2004-12-29 21:46:00) [4]


> Анимацию обычно делают в том же редакторе, что и саму модель.
> Только созранять придется в формате MD2 или MD3 с помощью
> внешнего конвертора.

в том то и дело, что (если я правильно понимаю смысл анимации) мне нужно не заранее запрограммированное перемещение (анимация), а произвольное перемещение.
ведь я могу ввести любые координаты и манипулятор соответственно должен переместиться в них.
или я не понимаю концепцию анимации?
к примеру, где-то видел пример с двумя моделями - из cs и кваки.
там чел либо бежит, либо умирает.


miek   (2004-12-29 18:07:00) [5]

Анимацию обычно делают в том же редакторе, что и саму модель. Только созранять придется в формате MD2 или MD3 с помощью внешнего конвертора.


Кегу   (2004-12-29 02:20:00) [6]


> как его анимировать?

В МилкШейпе раздели его на части. Каждая часть - один 3ds файл. Грузи их по-отдельности и крути верти, как хочешь.
Либо конвертируй модель в smd-файл скелетной анимации. Прилепи скелет и управляй скелетом. См. демку с Тринити.


Наверх

Титульная страница Поиск, карта сайта Написать письмо