Войти
ПрограммированиеФорумОбщее

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

Страницы: 1 2 Следующая »
#0
1:50, 26 ноя 2012

Доброго времени суток!
Меня заинтересовало, а как получается анимация движения?
Ну допустим в каком-нибудь шутере мы видим как двигаются враги. Они переставляют ноги и т.д.
Есть ли движки реализующие это, или еще что?
Прошу заранее тапками не кидаться, а обьяснить нубу. Ну или ссылку дать, где уже обьяснено..

Заранее спасибо за ответы.


#1
2:18, 26 ноя 2012

И конечно, нигде в интернете про анимацию не написано, даже википедия подло молчит, и гугл ничего не находит!

#2
3:13, 26 ноя 2012

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

#3
3:24, 26 ноя 2012

А тебе какая анимация нужна-то?

#4
3:48, 26 ноя 2012

Беда...
Ну да ладно... Постараюсь объяснить...
При движении как гг, так и нэписи могут идти бежать лететь. К примеру в NeoAxis редактирования анимации нет (я не знаю ни одного двига где оно есть). В максе создаю анимацию и через конвертер просто вношу в двиг. Каждый двиг поддерживает анимацию. Ну и впринципе как то так... Нубский ответ на нубский вопрос...

#5
4:34, 26 ноя 2012

TAKADA
Да может ему просто три спрайта надо, а ты тут сразу всякие неоэксисы и максы всуе поминаешь.

#6
12:46, 26 ноя 2012

толсто

#7
16:31, 26 ноя 2012

Ruyk
> Меня заинтересовало, а как получается анимация движения?
Если брать скелетную, по таймеру определяется, сколько прошло с начала анимации dtElapsed. По прошедшему времени берут смежные кадры dt1, dt2, между которыми находится время dtElapsed. Кость (абстрактный объект) в моменты времени (время, которое прошло с нач. анимации) dt1 и dt2 имеет матрицы m1, m2. Интерполируем между m1 и m2 - находим матрицу кости в момент dtElapsed. Вычисляем матрицы всех костей, учитывая иерархию. Вершины меша умножаем на матрицу, получаем новое положение вершины. Передвижение, например, в вайс-сити, задано анимацией пары шагов. Когда анимация сделает цикл, NPC переносится по вектору движения на расстояние, равное разности позиций корневой кости в начальном и конечном кадрах. Типа этого.

Для понимания на этом сайте есть статьи. Гугли.

#8
17:32, 26 ноя 2012

nes, это не толстый троллинг, это живой интерес.
gravemen, спасибо за обьяснение принципа работы костяной анимации.

#9
17:50, 26 ноя 2012

Ruyk
> как двигаются враги
cкелетная анимация с вероятностью 99,9999%

#10
19:30, 26 ноя 2012

Остался только один вопрос:
Какие форматы поддерживают анимацию?
(в качестве редактора использую блендер)

#11
19:49, 26 ноя 2012

Ruyk
> Какие форматы поддерживают анимацию?
лучше свой

#12
19:54, 26 ноя 2012

Замахаюсь я свой велосипед клепать.
Сейчас для графики использую ply. Но он только информацию о меше сохраняет(точки в глобальной системе, и UV  координаты текстуры) сохраняет.
Я читал что вроде *.х сохраняет инфу о положении костей в ключевых кадрах(или как-то так, в терминологии анимации пока плаваю). Или  формат геморно читать?

#13
20:42, 26 ноя 2012

Ruyk
> Остался только один вопрос:
> Какие форматы поддерживают анимацию?
> (в качестве редактора использую блендер)
X - поддерживает скелетку, но так как сейчас Ма-а-йкрософт не поддерживает его, то парсить из него данные можно только вручную (встроенные функции парсинга X в Directx отменили, остались только общая загрузка меша)- то бишь парсер самому придется писать. X- экспортится блендером. Я его юзать собираюсь (частично парсер запилил-консольном экзешнике объекты ищутся и выводятся имена). Но из блендера можешь свой написать, только надо изучить python и иерархию узлов в сцене.

#14
21:40, 26 ноя 2012

А есть еще какие-нить кошерные альтернативы иксу?
PLY случаем скелет+мясо+кейфреймы не выгружает?
Парсер я буду в лоадере "движка" писать, ибо опыт есть.
Питон знаю поверхностно(хотя это мой первый ЯП, который я благополучно забыл, ибо силу Си узрел и скорость асма...(ну и еще килограмм пафосного программистко-религиозного текста))

Страницы: 1 2 Следующая »
ПрограммированиеФорумОбщее

Тема в архиве.