Render.ru

Анимация подвески (без использования динамики)

Slavenin

Активный участник
Рейтинг
12
#1
Хочу сделать подвеску для машины, большой сложности и подробности не надо, хочу повесить смещение корпуса вверх вниз на четыре новых атрибута и ими уже рулить смещением корпуса для каждого колеса. Последние пару дней размышляю, как это сделать без использования динамики, ничего так и не надумал. Экспрессии получаются больно сложными (даже на этапе предварительного планирования). Может есть уроки какие-то, поделитесь кто знает.
 

Slavenin

Активный участник
Рейтинг
12
#3
я наверно непонятно объяснил что мне надо, надо чтобы дернув за манипулятор я получил смещение кузова как на картинке
 

Вложения

Покатигорошек

Активный участник
Рейтинг
15
#4
Вешаешь рутовый джоинт на корпус. Тянешь к каждому колесу от него цепочки. Применяешь ИК. Цепляешь ИКхэндлы к локаторам. Когда тягаешь рут - корпус движется, а колёса на месте.
 

Slavenin

Активный участник
Рейтинг
12
#5
гениально! как всегда все гениальное просто, я так и знал что есть простой способ! Покатигорошек еслиб можно было нажал бы Спасибо раз десять ;)
 

Slavenin

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

Slavenin

Активный участник
Рейтинг
12
#7
все победил эту штуку, добавил еще одну кость, на которую повесил все остальные и уже ее пустил по пути, и все глюки пропали
 

Denzil

Мастер
Рейтинг
353
#10
Что-то мне кажется, что ответ вообще на поверхности:

1. все разгруппировать (если есть иерархия)
2. Подвесить все под локатор, за него тягать - движение

колеса сами по себе, кузов сам по себе...
Или в чем подвох?
 

Покатигорошек

Активный участник
Рейтинг
15
#11
Без задней мысли..) Делал так однажды для игродвижка, где обязательно нужно было скинить.. Рефлекс сработал... )
 

Slavenin

Активный участник
Рейтинг
12
#12
Что-то мне кажется, что ответ вообще на поверхности:

1. все разгруппировать (если есть иерархия)
2. Подвесить все под локатор, за него тягать - движение

колеса сами по себе, кузов сам по себе...
Или в чем подвох?
к сожалению не все так просто, надо чтобы было 4 манипулятора за которые производится движение кузова относительно колес.

опять с костями проблемы, стоит хэндлеры поставить в зависимость от чего-нибудь, даже если их просто сгруппировать, и все перестает работать, повесить их на локаторы и рулить уже ими тоже не получается(ни поинтконстрейнтом ни просто парентом, ни группировкой) опять же если локаторы сгруппировать кинематика отказывается работать. Если же оставлять их сами по себе то даже при анимации канала Y и смещении модели по X и Z хэндлер замирает на месте, что впрочем логично, не помогает даже парент констрейнт. Сцена http://narod.ru/disk/17277795000/123.mb.html
 

Slavenin

Активный участник
Рейтинг
12
#13
ну и пока что, имею вот что:


к этому и надо прикрутить движение подвески на поворотах. Занос корпуса и прочие навороты пока не требуются
 

Denzil

Мастер
Рейтинг
353
#14
а можно по нормальному объяснить, что нужно? ТЗ так сказать, а то я вообще в непонятках, что на что должно влиять и как.
 

Slavenin

Активный участник
Рейтинг
12
#15
а можно по нормальному объяснить, что нужно? ТЗ так сказать, а то я вообще в непонятках, что на что должно влиять и как.
нужно сделать на машину риг, для того чтобы машина могла двигаться по моушен пасу (или без оного), плюс была возможность упавлять подвеской машины на повротах с помощью манипуляторов. Типичная ситуация машина едет по плоскости по моушен пасу, при повороте налево корпус должен припасть на правое переднее колесо и немного на заднее. Вот как раз возможность "припаданий" корпуса и нужно реализовать с помощь. манипуляторов.
 

Denzil

Мастер
Рейтинг
353
#16
Тогда Motion path будет двигать ноду вперед, колеса - geometry constraint к поверхности, корпус анимировать ручками или брать небольшой крен с Bank Motion Path (Bank scale) ползунок.
А вообще - надежнее ручками.
риг по схеме описаной выще (одна группа). Офсет на geometry constraint равен радиусу колеса.


Или я опять не так понял?
 

Slavenin

Активный участник
Рейтинг
12
#17
блин, я похоже совсем косноязычный стал... :(

Основной целью рига является упрощение анимации машины, риг должен быть универсален и его должно быть можно навесить на любую машину. Эти цели я выполнил, сейчас скелет со скриптами можно прикрутить к любой машине и все будет в шоколаде, но проблема в том что из-за использования ИК нода, хэндлеры не поддаются анимации, стоит их поставить в зависимость от чего-либо и кинематика перестает работать, я так понял из-за того что нод кинематики должен всегда находится в глобальной области и не может быть припаренчен к чему-либо, без потери функционала. Сейчас, как видно из ролика машина вполне может ехать по моушен пасу, колеса врящаются и поворачиваются, причем расчет их поворота и вращения происходит автоматически, так что машина может ездить не только по моушен пасу, но и быть анимирована любым другим способом, на функциоале колес это не скажется.

Не получается сделать такие манипуляторы, которые бы управляил наклонами корпуса машины, ведь при повороте, допустим, в право, центр трансформации для адекватного наклона корпуса должен находится в правой задней части машины, а при повороте налево - в задней левой, то есть центр трансформации должен прыгать туда-сюда, можно порбовать это описать скриптом. но пока даж не знаю с какой стороны за это браться. Вариант с костями мне подходит по всем позициям, там при движении кости как раз и происходит подобное смещение, но он не поддается анимации, стоит поставить ключ даже на канал Y как хэдлер замирает на месте, несмотря на то, что машина едет только по X и Z. Если припаентить хэндлер к чему-либо - пропадает расчет киематики и кости почти не двигаются(см тестовую сцену в посте 12). Если бы исправить это, то все проблемы бы сразу решились. Единственный вариант который я пока придумал это запечь движение хэндлеров по X и Z, а потом анимировать смещения по Y, но он мне не нарвиться из-за потери универсальности рига и загрязнения сцены лишними анимационными кривыми.

Надеюсь теперь я понятно объснил в чем состоит затык :)
 

Dark™

Модератор форума
Команда форума
Рейтинг
431
#18
Я бы проще сделал, через группы и простые экспрешены. Cкоро выложу, что вышло
 

Dark™

Модератор форума
Команда форума
Рейтинг
431
#19
Вот. Анимировать не пробовал, но должно, по идее, получится. Рабочие только передние локаторы, задние служат лишь для просчета расстояния. Оси вращения на плоскостях между соответствующими локаторами
 

Покатигорошек

Активный участник
Рейтинг
15
#20
может тебе поможет ik2BSolver?
вводишь

Код:
ik2Bsolver;
и он появляется в списке решателей у IK Handle Tool. позволяет навесить ИК на 2 джоинта
 
Сверху