Render.ru

Динамика на модели!!!

#1
Народ, просвятите, всегда было интересно как делаются подобные вещи:

1) Персонаж (человек, допустим его убили) - падает и динамично так ударяется о землю (перекатывается и взаимодействует с поверхностью), учитывая что в нем скелет все такое. Как кладется динамика на модель со скелетом, а динамика подчиняется скелету???

2) На глаза попался ролик: Модель зверюги (что-то типа орка с огромной булавой на цепи), резко поворачивается и эта булава наследуя движение тела ударяется о спину модели и отлетает??? Это ведь не твердотельная динамика... Пожалуйста поделитесь информацией в общих чертах и где можно почитать?
 
#2
Дохлое тело легче всего анимировать в максовском реакторе. Там все для этого уже есть
 
#5
1 анимация персонажей при помощи динамической симуляции -это плохо. Хотя вполне решаемо.
2 обычная твердотельная динамика на основе ограничителей. Как вариант- софт боди сплайн+Кости+ИКсплайн.
подробности на learningmaya.com
 
#6
Большое спасибо, будем искать (правда там пол жизни можно искать и фиг найдешь). Кто еще что скажет?
 
#7
kiryha wrote:
>
> 1 анимация персонажей при помощи динамической симуляции -это
> плохо. Хотя вполне решаемо.

"Плохо" - это судя по всему ваше личное мнение...Потому как когда чего-то не умеешь, то проще навесить ярлык, чем научиться.

http://www.goldenxp.com/tutorials/ragdoll/ragdoll1.htm
 
#8
2 ЭфОдин
1 Можете смело называть меня та ты- я еще достаточно молодой.
2 Этот урок я видел и говорил, что проблемы с техническим исполнением не вижу. Действительно, это мое личное мнение, но в этом я не вижу никаких минусов. Когда чего-то не умеешь легче всего вобще обгадить. С этим тоже согласен.
Анимация персонажей не сводится к копированию физических законов. Это исскуство; эмоциональный, приятный и увлекательный труд. Выражение эмоций не обходится без ручной осознанной работы или по крайней мере доработки. А если вашь персонаж просто кубик? Вы добьетесь ощущения, например того, что ему интересно и одновременно страшно при помощи автоматизации ?
Я не провоцирую спорить, просто говорю, что вы не так меня поняли. Я пытался уберечь человека от изначально неправильного (по моему, естественно, мнению) подхода к анимации.
 
#9
блин, я тут такой пост написал, а он не запостился! ну попробую еще раз, теперь по-короче:
Вопрос с динамикой, как для анимации, так и для второстепенных движений, по-моему весьма интересен! действительно максовский Havok творит чудеса, жаль, что его нет для майки, и все же, не смотря даже на этот тутор, анимацию падающих персонажей мне кажется лучше все таки делать руками, ну или мокапить там... ;)
а вот всякие там болтающиеся на них мечи, фляжки, щитики и прочее, это уже сложнее. лично я всякие "болташки" делаю rigid и там такой замечательный констрейн barrier, а для всяких цепей/веревок - cloth или его природный аналог syflex. есть еще динамика кривых в шестой майке, но её пока не юзал. кстати jiggle deformer тоже годидза для остаточных движений, только вот работает он глючно. гораздо стабильнее jiggle написанный Мишкой Бажуткиным.
кстати вот еще повод для размышления. в kaydar-е есть такая замечательная нода dump. которая примитивно получает вращение/перемещение, а выдает его же но с определенной задержкой. очень убедительно выглядит такая "псевдодинамика" скажу я вам на цепочке из 5ти косточек.. ничего подобного в майке не встречали?
 
#10
helm wrote:
>
> кстати вот еще повод для размышления. в kaydar-е есть такая
> замечательная нода dump. которая примитивно получает
> вращение/перемещение, а выдает его же но с определенной
> задержкой. очень убедительно выглядит такая "псевдодинамика"
> скажу я вам на цепочке из 5ти косточек.. ничего подобного в
> майке не встречали?

Встречали...тракс едитор называется....
 
#11
Я понмю этот доклад. но надо сказать что это не очень "рабочий" выход, так как сначала нужно санимировать объекта ,а потом через трекс передавать анимацию на всех "детей", а нода dump в кайдаре работает реактивно, и даже не надо запускать анимацию.. собственно этот дампер почти написал Бажуткин в первой версии jiggle деформера, но потом он его переписал крепко, и теперь там все гораздо круче но и гораздо сложнее...
 
#12
Helm, ну Вы же понимаете, что на вход анимационной кривой (как и любой другой ноды) можно подать только одну связь. Поэтому по одной анимационной кривой можно получать ее значения для разных значений входного параметра "единовременно" можно только с помощью мел команд setAttr и getAttr. Трах - это пока единственный инструмент, который позволяет осущесвить жедаемое на уровне связей депенденси графа. По крайней мере, я других методов не обнаружил...

P.S. А кайдара вообще клевый софт...
 
#13
не буду тут спорить, так как не достаточно хорошо разбираюсь, в этих вещах... но все же:
Бажуткин написал дампер, довольно талантливый, используя вектора движения объекта (http://geocities.com/bazhutkin/jiggle1.html), собственно, и он это не сам придумал. такой механизм УЖЕ есть в майа. это динамика PaintFX-ов... я даже как-то попытался этот мишкин jiggle взять как генератор поворотов для цепи косточек.. почти получилось :)))
так о чем я? может найдется кулибин какой-нить который этот дамп напишет в виде элементарной процедурки... ноды, или экспрешена... а?
я б сам написал, если бы уMEL....
такие дела...
 
#14
Посмотрел скрипт...По-моему, там все не совсем так, как Вы себе представляете...Там используется та же фишка, что, например, при сэтапе колеса (есть такой урок, где колеса машинки крутятся правильно, по какой-бы траектории эта машинка не ехала) Аналогичная идея была на одной из Виагр, где показывали анимацию колеса продуктовой тележки.
Общая идея там заключалась в том, что экспрешн как нода депенденси графа обновляется при изменении связанных с ней атрибутов, а не только при изменении времени, как это происходит с Мэл процедурой. Суть примерно следующая
1.Заводится attrOld - предыдущее значение атрибута. проводиться инициализация attrOld=attr (Это происходит один раз)
2. По разности между attr и attrOld осуществляются какие-то действия (у Бажуткина - это определяются коэффициенты блендов)
3. Текущие значения аттрибута сохраняются, перезаписываясь в attrOld;
attrOld=attr;
Мы можем эту цепочку удлинить, создав не только attrOld, но и attrOldest, attrOldestSovsem....

Но у Бажуткина - это все таки обманка. Очень качественная, но все-таки обманка. Честно это делает динамика... Там вектор скорости объекта - аттрибут, который вычисляется правильно и дальше - прямой метод Рунге-Кутта для решения обыкновенных диф уравнений, поскольку основной закон здесь - закон ньютона, который никто не отменял. И для расчета перемещений мы используем вектор скорости, умноженный на временной интервал.... Время - вот ключевой момент отличия "обманок" от реальности...

Интересную обманку с псевдоэффектом динамики можно получить, если подергать за точки кривой, длина которой зафиксирована (6 майа).
 
Сверху