Render.ru

Анимация рычажного механизма (механизм "двойные ножницы")

p0int

Пользователь сайта
Рейтинг
2
#1
Доброго времени суток.
Не могу придумать как мне слинковать объекты.
Чтобы не вдаваться в детали сцены, упростим все до задачи анимировать механизм соединенных рычагов, например в "двойные ножницы". По этому принципу работала игрушка советских времен :)
Сложность заключается в асимметричности. Сегменты имеют разную длину и "гвоздик" смещен относительно центра. таким образом площадка на конце должна перемещаться из состояния А в В по кривой.

В чем у меня сложность... в расстановке центров и линковании
Центры я понимаю должны быть там где гвоздики

а как слинковать сегменты придумать не могу.

При этом слинковать надо не только концы сегментов, но и пересекающиеся центры. Я понимаю что надо навешать пустышек, но как их привязать к отдельным частям сегмента???

Можно ещё такой пример: 2 рычага А и В, один конец жестко закреплен, там центр вращения. Между собой соединены "тягой" С. как все связать, чтобы при перемещении А двигался В (на длину, а не угол)?

Нашел несколько похожих тем, но все они остались без ответа... должно же быть решение...
 

p0int

Пользователь сайта
Рейтинг
2
#2
при этом слинковать вершины сегментов тоже могу. Например таким путем:
Включить этот контроллер можно таким образом - создаешь 2 объекта (кофта и пуговица к примеру) выделяешь пуговицу и далее
Animation -> Position Controllers -> Attachment Constraint
от пуговицы за курсором потянется пунктирная линия. Ее необходимо направить на "кофту" и нажать левую кнопку мыши
Далее на вкладке Motion панели иструментов Create будут находится параметры управления твоей "пуговицы" (номер полигона на котором она находится, ориентация относительно нормали и т.п.)
Но как сделать чтобы центры не разбегались??? Именно расположение центров определяет направление движения механизма...

Чувствую что надо преобразовывать часть поступательного движения во вращательное, и делать это через MAXScript.... но в как... идея пока весьма смутная...
Потратив N кол-во времени, я думаю справился бы с описанием контрола типа ножницы.... тока это N пока у меня пока в значительных величинах :(
Очень бы хотелось готовый типа Spring или Damper (может есть.... "а мужики то не знают" С ) или хотябы пинок в нужном направлении
 

(Sperl)

Знаток
Рейтинг
26
#3
Привет
Есть над чем подумать. Вообщем насчет рычага (не очень понял, что значит "на длинну, а не угол") сделал две пустышки прилинкованные к тяге и рычаги привязал по LookAt на эти пустышки, ну и тягу еще на Path посадил, что бы не просто по сторонам ходила, а еще вверх вниз. Но тут все движение не от правого рычага идет а от тяги, она всем управляет.
А с ножницами так ничего толкового не получилось, в итоге придумал просто на тот же Path посадить шары и цилиндры как перемычки между шарами, при анимации шары сами начинают двигаться по пути, и тут нужно растянуть сам путь, и тогда что-то выходит :о)
 

Вложения

p0int

Пользователь сайта
Рейтинг
2
#4
"на длинну, а не угол" расстояние от центра до места крепления тяги у рычагов разное, в результате при перемещении точек на одну длинну рычаги перемещаются на разные углы. Т.е. не выходит задать анимацию одного рычага (наклоны в разные углы), а потом применить трэк на остальные рычаги...
А с ножницами ещё сложнее, "гвоздики" смещены относительно центров сегментов. в результате движение механизма по кривой.
Задача у меня достаточно сложная и связанна именно с анимацией связанных рычагов (надо отобразить именно работу механизмов, притом как можно точнее), т.е. даже при ручной анимации мне придется отслеживать расположение всех элементом.
Один механизм состоит минимум из 20 связанных рычагов, поэтому и кажется целесообразным потратить время на разработку контрола, т.к. если даже заниматься им долго, все равно получится удобнее (и главное точнее) чем при ручной анимации... ну и с экономической точки зрения все ещё хуже т.к. эта работа что называется "подшефная" т.е. спросить за нее спросят, но за рамки оклада она не выходит :(
/ударился в геометрию, вывожу зависимости от длинны сегментов и места гвоздика к перемещению точки, хорошо хоть все перемещения в одной плоскости. Пока буду благодарен за намек как это лучше связать с MS... или с этим лучше в соответствующую ветку?/
 

INCUS

Знаток
Рейтинг
29
#6
"Ножницы" делай на основе цепочки костей, собранных в простую гармошку и общей ИК.
--------------
А с рычагами так:
На вращение правого рычага поставить Orientation Constraint , в настройках цель указать на левый рычаг. Теперь, вращая левый, правый будет повторять за ним вращение. Налепить на них поинтов, прикрепить к одному из них планку. На Планку поставить Look At с целью на другой поинт. Всё.
 
Сверху