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

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

Скелетная анимация. ГЕНИАЛЬНАЯ ИДЕЯ!


Alek Aaz ©   (2003-02-01 12:24:00) 

Мля... пока тут кое кому писал приперлась Муза и навеяла следующее:
Где-то с месячишко назад пролетала тема: как ходить по наклонным плоскостями плюс где-то два месяца назад кажется была тема как определить расстояние до конечности в SMD
По первой советовали кажется какую-то инверсную кинематику а вторая так без ответа и осталась по моему. Ломы их искать...
Итак ... Сама Идея...
--------------------------------------------------
Берем и для каждой ступни делаем анимашку "ступня вниз-ступня по середине - ступня в верх". Т.е 3 позиции. GLScene позволяет выводить "смешанную анимацию". См. пример "skeletal". Там Троица прыгает, бегает и одновременно поворачивает голову. Причем на определенный угол. В smd поворота головы всего два кадра! Опустим тот факт что при этом происходит косяк с ногами.:)

Итак, как сделать ходьбу по наклонной плоскости.
1. Пошли тикать кадрики анимации хотьбы. Центр фигуры пока движется горизонтально вперед.
2. Вот в каком-нибудь кадрике нога начала опускаться и достигла наклонной поверхности("носок" ушел в "бетон"). Сработал наш колдетектор.
3.Определяем угол наклона пола. Добавляем анимацию ступни. Ступню поворачиваем на нужный угол.
4. Вычисляем точку "соприкосновения" "пятки" и пола.
5. Новый кадр. Вычисляем расстояние от центра модели до "пятки". Новая позиция центра = точка соприкосновения + расстояние от центра до "пятки". Ну плюс смещение по оси х.
6 Повторяем со второй ногой.

Пункт 4 я не представляю как сделать :) пока не представляю ...
Пункт 5. Насколько я понял - скелетная smd это список скелетных отрезков. Т.е. название отрезка - его 3Д координаты относительно центра модели. Собственно есть два способа: считывать нужные нам координаты из нужной smd или при загрузке анимации сразу считать их в массив.

Ну что, кому делать нечего? :) Проверьте... Я до этого только к лету доберусь :)


Alek Aaz   (2003-02-02 03:47:00) [1]

А что такое даже в 2Д
Это как?


JibSkeart   (2003-02-01 16:03:00) [2]

Вообше то это не новость такое я сам видел и даже в 2Д
но вот пока со временем обрез
так что даже сам свои идеи немогу реализовать :((


Наверх

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