Render.ru

Крылья мельницы \ смещение объекта с анимацией

Alexander Padalka

Пользователь сайта
Рейтинг
2
#1
Друзья, доброго всем!
Делаю крылья мельницы на которых должна колыхаться тряпка-плоскость.
На саму тряпку повесил простой скелет из нескольких узлов, что бы в дальнейшем анимировать. Сделал Bind, плоскости имитирующей тряпку и скелета. Всё это дело собрал в иерархию (вместе с самим крылом). Возникла проблема:
При перемещении всей группы объектов, происходит отклонение плоскости тряпки и самого крыла. Если применять Delete by History, проблема решается, но вся оснастка слетает, при повторном Bind'e снова появляются отклонения в перемещении объектов.

Идея была такая - сделать несколько дубликатов крыльев уже с анимированной тряпкой и потом повесить это всё на мельницу, объединив в общую группу и дополнив анимацией вращения всей группы.

Подскажите пожалуйста, как правильно это сделать?

На картинке:
1. Смещение при изменении положения всех объектов.
2. Как хотелось бы оставить и не потерять возможность анимированния плоскости-тряпки скелетом.

 
Рейтинг
22
#2
Если я правильно понял. То в группе должны лежать только кости для тряпки и "деревянные жерди", а не геометрия (полигоны) тряпок. И тогда пропелер группа будет крутиться без отделения тряпок.
 

Alexander Padalka

Пользователь сайта
Рейтинг
2
#3
Если я правильно понял. То в группе должны лежать только кости для тряпки и "деревянные жерди", а не геометрия (полигоны) тряпок. И тогда пропелер группа будет крутиться без отделения тряпок.
А тряпки-то где тогда?

Сейчас так:

Как я понял, вы предложили сделать вот так:



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

Alexander Padalka

Пользователь сайта
Рейтинг
2
#4
Я пока докумекал до полу-рабочего варианта - анимировать отдельно тряпку с помощью анимации вертоксов, затем разлочить аттрибуты положения пространства самой тряпки, установить пивот в центр колеса и относительно него уже анимировать проход по окружности самой тряпки. И так каждую из 4х тряпок отдельно. Но мне кажется это совсем изврат и непонятно как этот способ потом будет работать при экспорте в Unity или другой игровой движок (самообучаюсь моделированию для игр). Наверняка, должен быть способ сделать анимацию пролёта группы крыльев в сборе одним проходом.
 
Рейтинг
22
#5
Уууу, как то сложно для моих мозгов. Яб, еслиб надо было чтобы крутилось дерявянные лопасти, а на них колыхались тряпки сделал группу из жердей и в этой группе расположил тряпку тоже, вращал бы эту группу, а для колыхания тряпки - иммитировал ее движение через анимацию точек самой плоскости тряпки и чтобы эта анимация была зацикленна. Это выделяете все точки ставите ключ (s), перетащили в другом кадре точки как надо, выделили все и опять ключ поставили. НО этот способ, который рассказываю ваще топорный и не академичный :) Вы его этот способ и описываете ведь
 

Alexander Padalka

Пользователь сайта
Рейтинг
2
#6
Уууу, как то сложно для моих мозгов. Яб, еслиб надо было чтобы крутилось дерявянные лопасти, а на них колыхались тряпки сделал группу из жердей и в этой группе расположил тряпку тоже, вращал бы эту группу, а для колыхания тряпки - иммитировал ее движение через анимацию точек самой плоскости тряпки и чтобы эта анимация была зацикленна. Это выделяете все точки ставите ключ (s), перетащили в другом кадре точки как надо, выделили все и опять ключ поставили. НО этот способ, который рассказываю ваще топорный и не академичный :)
Спасибо попробую даже ради интереса.
Мне кажется, я выше что-то в этом ключе и предложил с анимацией вершин.

Вот тут додумался ещё до одного способа "на костях", как и хотел, но его не успел проверить. Как смогу - отпишусь.
 

Alexander Padalka

Пользователь сайта
Рейтинг
2
#8
а так как говорил ранеее - у меня все нормально работает, не знаю, почему у вас так?
При передвижении жерди у вас сама ткань следует точно за ней или опережает \ запаздывает \ движется в иную сторону? По рисунку не ясно, видно только, что тряпка шевелится на скелете и не больше.

Я поясню - идея была в том, что бы сделать некое подобие ассета - одно готовое и анимированное крыло, а затем растиражировать его в карусель. Вот в этом случае тиражирование невозможно из-за описанного мной выше поведения.
 

Alexander Padalka

Пользователь сайта
Рейтинг
2
#9
РЕШЕНИЕ НАЙДЕНО.

Решение 1.
1. Сделать 4 жерди и собрать и объединить их в один объект.
2. Сделать 4 тряпки, разместить над соответствующими жердями и объединить в один объект.
3. Сделать скелет с root-joint'ом из которого торчат 4 симметричных ряда с узлами, которые будут анимировать тряпку. Root-joint'у для удобства можно добавить локатор или другой манипулятор.
4. Связать меш тряпок и скелет.
5. Анимировать нужные joint'ы для колыхания тряпки.
6.Анимировать вращение root-joint'а, при этом тряпки будут вращаться по заданной траектории и сохранят индивидуальную анимацию колыхания.



Решениe 2.
1. Анимировать выборочно вершины меша тряпки для имитации колыхания.
2. Разблокировать ( Unlock) аттрибуты положения в пространстве меша.
3. Установить пивот в центр колеса крыльев-жердей.
4. Анимировать проход по окружности, при этом анимация верши сохранится.
5. Повторить для оставшихся 3х тряпок, начиная с п. 1
6. Крылья-жерди анимируются отдельно, как и в первом случае.
 
Рейтинг
22
#10
В первом решении, для упрощения иерархии можно крестовину жердей (просто в аутлайнере, средней кнопкой мыши) перетащить в Root-joint. Как бы Root-joint это тоже группа и жерди просто лежат в этой группе. И анимировать вращение только через анимацию этого корневого Root-joint`а
 
Последнее редактирование:
Сверху