Render.ru

Проблемы со скелетной анимацией

AciD_SERgeant

Пользователь сайта
Рейтинг
2
#1
Приветствую товарищей по оружию :) Есть у меня вопрос один. Может кто уже сталкивался. Связан он с анимацией персонажей...
Учавствую я в одном игровом проекте. С моделлингом проблем нету совершенно. Но вот попросили меня и анимацией заняться. Как скелет ставить и оснастку делать я знаю, но косяк в том, что наш движок оснастку не держит! То есть ИК контроллеры пролетают, что просто ужасно!!! Это ведь значит, что каждую косточку придется крутить поотдельности. А с учетом того, что скелеты достаточно сложные (насекомые), в итоге моей работы я окажусь в психушке :)
Вот я и подумал - а может все-таки реально все упростить? Есть такая идея: Создать анимацию с ИК контроллерами копировать скелет (назовем его скелет2) в первом скелете (который остался в "оболочке") удалить ИК контроллеры дальше привязать соответствующие кости первого скелета к костям второго посредством действия Animation Constraints Orientation Constraint (таким образом заставив первый скелет двигаться со вторым). А дальше собственно суть вопроса: Как сохранить движения выполняемые первым скелетом при условии, что второй будет удален???
Что я пробовал: удалял скелет2, первый не подает признаков жизни. Выделял первый скелет и в каждом кадре создавал (сохранял) ключ, эффект тот же. Больше никаких действий в голову не приходит. Крепко первый скелет ко второму привязался... Сволочь такая :)
Попробую переформулировать вопрос немного: Как заставить скелет без ИК двигаться как скелет с ИК (ессно, что скелеты одинаковые) с учетом того, что скелета с ИК в итоге в сцене оказаться не должно, а скелет без ИК все еще будет выполнять движения удаленного скелета с ИК?
Помогите пожалуйста в решении этого вопроса.
Заранее огромнейшее спасибо!!!
 

Saplus

Модератор форума
Команда форума
Рейтинг
548
#2
По идее никак, ибо при IK не существует как бы анимации самих костей, а только анимация констрейнов... То есть привязывать трансформ не к чему.
 

AciD_SERgeant

Пользователь сайта
Рейтинг
2
#3
Спасибо за отклик!
Я уже тоже начинаю думать, что сделать все проще не получиться...
Хотя в голову мне пришла одна веселая идея. Причем достаточно простая в мсполнении и главное - она должна работать! Правда тут нужен маааленький скрипт :) Так что пойду я в раздел посвященный этому занятию.
А идея такая:
Выбираем кость в первом скелете жмем Align и тыкаем по аналогичной кости на втором скелете. В параметрах Align'a убираем галочки из Align position (screen) и выставляем галочки в Align orientation (local). То есть делаем так, чтобы первая кость не перемещалась ко второй, а только вращалась как она. Ессно что все это нужно проделывать со включенным автокеем :) Дальше переходим в следущий кадр и проделываем тоже самое. И так для каждой косточки :) Если сделать грамотный макрос, то на все эти операции будут уходить секунды! А макрос кстати довольно простенький по идее. Правда я не знаю как его воплотить в жизнь (с операторами проблема)... Так что задам вопрос знающим людям :)
Тема по макросу тут: http://www.render.ru/forum/viewtopic.php?topic_id=118058
 

AciD_SERgeant

Пользователь сайта
Рейтинг
2
#5
Ну бипед и насекомые - это как-то немного не совместимо...
Кстати, проблема решена. Кому интересно смотрите в теме по скриптам. Ссылка расположена выше.
 

Майк 2878

Активный участник
Рейтинг
16
#6
гм, а почему не экспортить в движок например через директ-иксовский меш .X
там будет записана покадрово вся анимация скелета без упоминания любых оснасток, тока значения положения, вращения и масштаба костей
 

xeash

Активный участник
Рейтинг
12
#7
Если ты хочешь чтобы движок держал ИК тебе нужно специально для него писать его поддержку...А так сейчас вся анимация в играх это либо покадровое запоминание трансформаций джоинтов(как сказали выше) либо запоминание ключей и их тангентов...тебе нужно было просто запечь анимацию и все=)(так как ИК заставляет кости просто менять свою трансформацию)
Твоя идея попахивает реализацией IK/FK рига...
Но раз уже решил проблему, тогда молчу=)
 
Сверху