![]() |
|
|
#1
|
|||
|
|||
|
И вновь я, и все в той же плоскости: 3d + openGL.
Всем наверно известен распространенный пример экспорта 3d анимированного объекта из 3ds max. Вопрос мой заключается в анимации. Не могу разобраться как проигрывать анимацию один раз либо до определенного момента может кто-нибудь подскажет.Гугл конечно вещь, но что то мы с ним не ладим ![]() |
|
#2
|
||||
|
||||
|
Пример с GameDev'а чтоли?
Тут уже зависит от того, какая анимация. Самое простое (решение "в лоб")- взять вектора перемещения точек, разбить их на промежутки (в зависимости от длинны кадра) и двигать в каждом кадре на нужное расстояние. |
|
#3
|
|||
|
|||
|
Ну да. Да он много где был.
Ну а если, скажем, это подобие человека, которой бежит и одновременно, по команде пользователя, совершает какое-либо движение рукой? Как в этой ситуации поступить... |
|
#4
|
||||
|
||||
|
Отдельно анимацию ног, отдельно рук. Для ног продолжать, а для рук запустить новую.
|
|
#5
|
||||
|
||||
|
На вскидку сразу не скажу, но там используются "рычаги". Это когда "рычаг" = костям скелета и двигаются не отдельные точки, а весь комплекс точек привязанных к определённому "рычагу". Хорошо это показано на Blender-е, но там совместимость выходного формата хуже некуда.
|
|
#6
|
||||
|
||||
|
Это костная анимация. Она труднее будет, надо юзать для каждой точки степени влияния на нее разных костей. Но эффект для анимации живых объектов, конечно, в разы лучше.
|
|
#7
|
|||
|
|||
|
Ммм...вы меня чуть не так поняли. То как реализовать анимацию в максе это я знаю. Слава богу с ним на ты.
Вопрос то как проиграть ее в моей программе? Проблема решаема когда анимация происходит отдельно друг от друга. А вот когда вместе, еще и у одного объекта ![]() ![]() ![]() Есть конечно вариант руки, ноги ну и все что будет анимироваться нарисовать отдельно, а в программе собрать в кучу. Тогда вопрос отпадает...но почему-то мне это показалось не правильным подходом ![]() Вообще как реализуются такие вещи в норм играх? |
|
#8
|
||||
|
||||
|
Ну не обязательно делать отдельно руки там и ноги. Достаточно сделать им разные анимации и продумать формат так, чтоб можно было одновремено запускать анимации разных частей тела. Можно попробовать хранить анимацию отдельных подобъектов (групп?).
|
|
#9
|
|||
|
|||
|
Цитата:
![]() ![]() ![]() ![]() Ведь свое "начало" 3D объект берет оттуда... |
|
#10
|
||||
|
||||
|
Цитата:
|
|
#11
|
|||
|
|||
|
Цитата:
ну я имел ввиду мой проект ![]() а не в глобальном смысле![]() ![]() |
|
#12
|
|||
|
|||
|
Круто бы было загонять сетку объекта и кости в прогу, уже в ней делать нужную анимацию, а двиг пусть это все считает и визуализирует
![]() Хотя это здорово скажется на производительности наверно... |
|
#13
|
|||
|
|||
|
Неужели никто не сталкивался с данной задачей...
![]() |
|
#14
|
|||
|
|||
|
Я сталкивался, но в DirectX. Можно взять несколько перемещений костей скелета и применять их в любой комбинации. Примеры в книге Джима Адамса "DirectX. Продвинутая анимация".
|
|
#15
|
|||
|
|||
|
Спасибо. что-т даже и не подумал в этой области посмотреть. Я конечно решил проблему, но решение мне не нравится....
|