testing Анимация воздушного змея при помощи reactor » 3domen.com - сайт Сергея и Марины Бондаренко
Регистрация  Напомнить пароль?
 Отправлено Sergey|Marina 5 июля 2007 



Анимация ткани в 3ds Max – это настолько сложный процесс, что в программе предусмотрено два способа решения этой задачи. Во-первых, это можно сделать с помощью модуля Cloth, однако этот инструмент чаще применяется, когда необходимо смоделировать одежду для трехмерного персонажа. Во всех остальных случаях можно использовать модуль reactor.

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

Создание каркаса

Начните с создания модели змея. Сделайте каркас змея. Он состоит из трех цилиндрических реек.

Перейдите в окно проекции Front. Создайте цилиндр с небольшим радиусом (Radius — 1) и высотой (Height) равной двумстам.

Две остальные рейки должны располагаться перпендикулярно основной, поэтому перейдите в окно проекции Left, чтобы уже при создании объекты размещались под прямым углом относительно первого элемента. Высота второго цилиндра должна быть в два раза меньше первого, а радиус – таким же.

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


Анимация воздушного змея при помощи reactor


Используя инструмент Line, нарисуйте ломаную кривую, которая по форме совпадает с формой змея. Замкните сплайн. Для этого подведите конец кривой к ее началу и в появившемся окне Close Spline? нажмите кнопку Yes.


Анимация воздушного змея при помощи reactor


Выделите все созданные рейки и конвертируйте их в Editable Poly. Для этого щелкните правой кнопкой мыши на объекте и выполните команду Convert To>Convert to Editable Polу. Выделите один из элементов каркаса, нажмите небольшую кнопку Attach List, которая находится рядом с кнопкой Attach свитке Edit Geometry и присоедините остальные рейки.

Добавление вспомогательных объектов модуля reactor

Для того чтобы reactor мог просчитать поведение ткани, необходимо выполнить два действия: назначить будущей ткани модификатор reactor Cloth, после чего создать коллекцию Cloth.

Выделите ломаную кривую и примените к ней модификатор reactor Cloth. В окне перспективы можно увидеть, что замкнутый сплайн превратился в пятиугольник. Этот элемент змея и есть ткань, которую нам необходимо анимировать.


Анимация воздушного змея при помощи reactor


Не снимая выделения с объекта, нажмите кнопку Create Cloth Collection на панели инструментов reactor. Если панель инструментов не отображается, щелкните правой кнопкой мыши по основной панели инструментов и выберите в контекстном меню строку reactor

После нажатия кнопки Create Cloth Collection в окне проекции появится значок, показывающий, что в сцене имеется группа объектов, обладающих свойствами ткани. Поскольку перед нажатием кнопки Create Cloth Collection мы выделили ткань, она была автоматически добавлена в эту группу.

Теперь нужно определить твердые тела, принимающие участие в анимации. В нашем случае это каркас. Выделите его (после операции присоединения рейки стали единым объектом) и нажмите кнопку Create Rigid Body Collection. В окне проекции появится значок, указывающий на присутствие группы твердых тел в сцене. Каркас уже занесен в эту группу, поскольку мы его предварительно выделили.

Щелкните по названию окна проекции правой кнопкой мыши и включите режим отображения ребер сетчатой поверхности объекта — Edged Faces. Поскольку ткань должна изгибаться, необходимо чтобы объект, который выполняет роль ткани, должен иметь достаточно много полигонов. В режиме Edged Faces видно, что полигональная структура объекта не соответствует этому требованию. Поэтому уплотните ее, назначив модификатор Tesselate. В настройках модификатора установите переключатель Iterations в положение 4.


Анимация воздушного змея при помощи reactor


Теперь нужно поменять местами модификаторы Tesselate и reactor Cloth в стеке. Это нужно для того, чтобы модуль reactor работал с высокополигональной моделью. Захватите значок модификатора Tesselate и перетащите его под значок второго модификатора.


Анимация воздушного змея при помощи reactor


Закрепите ткань на каркасе. Для этого переключитесь в режим работы с вершинами модификатора reactor Cloth, щелкнув на плюсике рядом с названием модификатора и выбрав строку Vertex.

Перейдите в окно проекции Top. Выделите вершины, которые должны оставаться на месте. Это – нижний ряд вершин, а также вершины по углам пятиугольника. Выполнять выделение следует при нажатой клавише CTRL.

В свитке Constraints нажмите кнопку Attach To Rigid Body. После этого в списке свитка Constraints появится строка Attach to RigidBody. Щелкните на ней, и в настройках модификатора появится одноименный свиток. Нажмите в данном свитке кнопку под надписью Rigid Body и укажите в сцене каркас.

Выйдите из режима работы с вершинами. Перейдите на вкладку Utilities командной панели и откройте настройки утилиты reactor.

Нажмите кнопку Preview in Window в свитке Preview & Animation, чтобы посмотреть, как будет выглядеть сцена после просчета. В окне Real-Time Preview можно наблюдать, как ткань повисла на каркасе.

Обратите внимание, что каркас должен располагаться на некотором расстоянии от ткани. Модуль reactor начинает просчет взаимодействий тел не тогда, когда они соприкасаются оболочками, а тогда, когда подходят друг к другу на близкое расстояние, которое определяется настройками модуля. Если вы расположите объекты слишком близко, то перед предварительным просмотром или окончательным просчетом сцены программа выдаст сообщение о том, что они пересекаются. При этом они могут и не пересекаться, а просто подходить друг к другу на расстояние, которое меньше того, на котором, согласно настройкам модуля, должно начинаться взаимодействие.

Добавление ветра

Сгруппируйте ткань и каркас, выделив оба объекта и выполнив команду Group>Group. Поверните полученную группу так, чтобы воздушный змей располагался под углом к воображаемому воздушному потоку.

Чтобы анимация змея была реалистичной, нужно смоделировать воздушный поток, который держит змея в воздухе. Для этой цели нужно использовать вспомогательный объект модуля reactor под названием Wind, который можно добавить в сцену, нажав кнопку на панели reactor.

Значок этого вспомогательного объекта выглядит как флюгер, который показывает направление ветра. Однако положение значка не влияет на поведение ветра до тех пор, пока не будет установлен флажок Use Range в свитке Properties настроек объекта Wind. Установите его. Для параметра Range, которое определяет расстояние, на которое дует ветер, установите большое значение, например, 850. Расположите вспомогательный объект в сцене таким образом, чтобы воздушный поток дул в направлении ткани.

Снова нажмите кнопку Preview in Window в свитке Preview & Animation, чтобы посмотреть, как теперь выглядит анимация. Эффект слабо заметен из-за низкой скорости ветра. Увеличьте значение параметра Wind Speed в свитке Properties настроек объекта Wind во много раз, например, до 55.

Снова вызовите окно предварительного просмотра. Эффект уже заметен, но из-за того, что ветер дует с постоянной скоростью, ткань натягивается куполом и замирает. Чтобы она реалистично развивалась на ветру, установите в настройках объекта Wind флажок Perturb Speed, благодаря чему скорость времени будет непостоянной. Увеличьте значение параметра Variance до четырех.

Еще раз вызовите окно предварительного просмотра. Теперь бросается в глаза то, что ткань вытягивается на каркасе как резина. Поэтому перейдите к настройкам модификатора reactor Cloth и в области Force Model увеличьте значение параметра Stiffness до 0,85. Благодаря этому ткань будет более плотно прилегать к каркасу и не так сильно деформироваться.

Теперь анимация выглядит более правдоподобно.

Создание хвоста змея

Осталось создать хвост змея. Перейдите в окно проекции Top, создайте узкий и длинный объект Plane с параметрами Length – 250 и Width – 6 и расположите его в нижней части змея. Чтобы ленточка красиво деформировалась на ветру, установите большое количество сегментов по длине (Length Segs) и ширине (Width Segs).


Анимация воздушного змея при помощи reactor


Назначьте объекту модификатор reactor Cloth. Выделите в сцене созданный ранее объект Cloth Collection. Добавьте ленточку в список объектов, обладающих свойствами ткани. Для этого нажмите кнопку Pick, после чего щелкните по ленточке в сцене.

Перейдите в режим редактирования вершин модификатора reactor Cloth. Закрепите вершины, примыкающие к каркасу, так, как мы это делали с натянутой на него тканью.

Снова нажмите кнопку Preview in Window в настройках утилиты reactor, чтобы посмотреть, как теперь выглядит анимация. Чтобы избежать ошибок при просчете, установите флажок Avoid Self-Intersections в настройках модификатора reactor Cloth для обоих объектов, имитирующих ткань.

Можно нажимать кнопку Create Animation для начала просчета.



Готовую анимацию можно скачать тут, 3 Мб



Анимация воздушного змея при помощи reactor




Если у вас возникли трудности с выполнением этого урока, вы можете скачать бесплатный видеоурок, в котором показано и рассказано, как его делать.



Сергей и Марина Бондаренко Анимация воздушного змея при помощи reactor
Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.

Форум Топик Ответов
Будьте в курсе новостей