Тема: Sigel
Показать сообщение отдельно
Старый 26.01.2009, 04:18   #367
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: Sigel

Олег, начсёт анимации, я интерфейс удобным представляю такой:
Загрузка модели может быть простой или с костями, а анимация всегда хранится в отдельных файлах, при этом применяется по имени кости. Но потребность в этом, вызвана тем чтобы реализовать возможность подргузки анимации под немного разные скелеты, а применение матриц будет влиять на скелет, и кости по именам, тем самым это даст хорошую возможность иметь много персонажей, иногда с доп костями а иногда без них: просто анимация будет находить какие есть кости в скелете и преминять на них матрицы, если нет такой кости в скелете, то просто игнорирует её и всех её детей.
Возможность разбивать анимации на секьюэнсы. К примеру у нас есть модель и подгружена анимация из одного файла, получается есть только нулевой секьюэнс (который будет всегда содержать всю анимацию), далее делаем извлечение секьюэнса, появится первый (простой индекс). Также и склеивать в один, типо: MergeSequences(Model,Seq1,Seq2), таким образом в Seq1 будет содержать и собственную и потом дополненую.
Второй важный моммент, это возможность кастомно указывать костям какую анимацию играть: таким образом реализуется морфинг, если это технически не затруднительно. Обязательно наличие флага, обозначающего что применение анимации кости, будет также влиять на все наследственные кости.
Энтити класс Bone - если это также не затруднительно, даст возможность применять манипуляции его матрице, кручения, перемещения, скейл.
Получение локальной координаты относительно отца кости, всей модели или мира. Этот моммент думаю тоже немало важен.
Ну и естественно работа с так сказать таймлайном секьюэнса, направление анимации, принудительная установка текущего кадра, и параметр скорости, который даст возможность делать паузу или синхронизировать анимацию. Желательно эти функции по отдельности, относительно скорости темболее.
Ну и конечно множество Get функций, для получения информации.
Что думаете насчёт такого интерфейса, и какие он имеет минусы/плюсы, и что можно поменять и улучшить с точки зрения юзабетельности?
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо moka за это полезное сообщение:
ABTOMAT (26.01.2009), HolyDel (26.01.2009)