XV Software (C)

XV Software

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » XV Software » Программирование » Анимация персонажей


Анимация персонажей

Сообщений 1 страница 10 из 10

1

Кто сталкивался с программной реализацией скелетной анимации и инверсной кинематики?

0

2

Конкретная реализация зависит от движка. Причем, во всем. Если в общих чертах - в статьях у меня есть заметка. А конкретно... что за двиг?

0

3

Никакого конкретного движка нет. Есть идеи?

0

4

Скажем так, я четко знаю, как эта скелетная анимация реализована в DOOM 3, Quake 4, Prey. Могу предположить, как она реализована в Half-Life 2. Методы однозначно различаются, но могу описать. Надо?

0

5

Конешно! можешь даже кодом снабдить. Интересует ещё момент, как из модели обращаться к каждой кости в коде и, особенно, как создавать структуру FRAME?

0

6

С кодом проблема, ибо DOOM 3 изнутри я не видел, а разбирать его дизассемблером не вариант. К тому же в этом нет необходимости. Все модели в нем (md5.mesh) статичны. Есть модель, есть кости в ней (понятно, что к каждой кости привязаны какие-то участки модели). И в комплекте с этой моделью идет довольно большой набор анимации (md5.anim), в которых прописаны движения. Управление такой моделью осуществляется простым передвижением ее в пространстве и заданием файла анимации. Их может быть и очень много ;) если охота, у меня есть плаг для макса, который загружает и сами модели и подгружает быбранную тобой анимацию к ним.
Что же до HL2, разобрать на запчасти как дум у меня не вышло. Но там есть моменты, когда четко видно принцип реализации. Принцип любой подобной костной структуры такой:
есть базовая кость (может, копчик, может позвоночник, как лучше), от нее по иерархическому принципу расходятся остальные. Реализацию такого принципа можно четко проглядеть в Cinema 4D, там это даже без самих костей прекрасно можно сделать. Кости эти неразделимы и между ними имеется "шарнир". Таким образом, при задании параметов на одну кость, остальные выставляются автоматически с учетом статуса "живой-мертвый", гравитации и позиции. В процессе игры явно видно, что если "мертвую" модель подвесить за ногу, все остальное свесится вниз, как примерно и должно быть в жизни. Просто не стоит забывать, что при такой реализации идет невероятный просчет гравитации, силы трения, инерции и еще черти чего. Либо это уже зашито в движке, либо прописывать самому. В первом случае - все легко и здорово, двиг сам присобачит гравитацию и инерцию. А вот во втором - замучаешься все просчитывать.
Если модель еще живая, то скорее всего там так же зашит набор движений (только не отдельным файлом, а внутри модели). Просто судя по всему, когда модель убивают, с нее снимается прямая анимация и она отдается на растерзание движку, а он уже сам считает, куда она упадет, как ляжет и так далее.
Так что видишь, про двиг я не спроста спрашивал.

0

7

Дум с собственным форматом ID .md5 не интересует. Он может и хорош, но это тоже самое как залезть в .mpq от  Blizzard. Вот .х - другое дело. Про всё, что ты написал я давно знаю. Ладно, про структуру FRAME, что-нить слышал? И вообще, как программно обращаться к кости? Да забудь ты про сторонние движки. Я у тебя спрашиваю как эту часть анимации самому реализовать.

0

8

Screech написал(а):

Дум с собственным форматом ID .md5 не интересует.

Я от тебя и не требую его использования, привел для объяснения самого принципа.

Screech написал(а):

Ладно, про структуру FRAME, что-нить слышал?

Нет.

Screech написал(а):

И вообще, как программно обращаться к кости?

по иерархическому принципу. в идеале это должна быть структура, внутрь которой лезешь через точку (типа как в дельфях, каждый пункт струкруры имеет свою толпу подпунктов). По крайней мере, я видел такую реализацию.

Screech написал(а):

Да забудь ты про сторонние движки.

И чем тебе не угодили сторонние? Ты свой полтора года будешь писать и еще год отлаживать. Оно надо? Взял готовый и пишешь.

Screech написал(а):

Я у тебя спрашиваю как эту часть анимации самому реализовать.

Принципы я тебе описал. Если нужно наглядно, в Cinema 4D загрузи библиотечную модель Zygote Man и посмотри, как там все расположено в панели справа сверху.

0

9

Retributor написал(а):

Принципы я тебе описал.

Спасибо, но я это уже знаю. Да и помимо Синема 4д, в Максе примеров насмотрелся. Ладно, сам копну.

0

10

Хорошо. Попробуй сам докопаться. Если получится - напиши тут, мне тоже будет интересно :)

0


Вы здесь » XV Software » Программирование » Анимация персонажей