Анимация развевающегося на ветру флага
17 сентября 2009
Задача создать иллюстрации развевающихся флагов появилась одновременно с созданием проекта http://flags.redpixart.com/. Поэтому привожу небольшой мануал по одному из способов решения этой задачи.
Сам по себе процесс моделирования развевающегося на ветру флага является частным случаем анимации материи. С помощью описанного приема можно создавать шторы, одеяла, одежду и многое другое.
Создание флага
Для создания флага используем обыкновенную плоскость. Необходимо указать число разбиений по ширине и длине, чтобы изображение получилось более сглаженным. В примере я буду использовать плоскость размерами 20 на 30 с количеством разбиений равным пятидесяти.

Теперь добавим к плоскости модификатор UVW Map. В его параметрах выбираем тип Planar, а затем снимаем галку с пункта Real-World Map Size:

Затем переходим непосредственно к самому основному. Добавляем модификатор Cloth. Первым делом кликаем по Object Properties, после чего появится новое окно свойств. В левой части необходимо выделить плоскость, которую мы используем для создания флага, далее переключить флажок с Inactive на Cloth. Чуть ниже в Cloth Properties выбрать одно из предустановленных значений (можно поиграться с параметрами самому, но я остановился на материале Silk). После этого остается только нажать Ok.

Остается настроить еще пару параметров. Прокручиваем свойства модификатора до вкладки Simulation Parameters. Здесь необходимо указать силу гравитации (можно кликнуть на кнопку Earth и значение -980 установится само) и один из важных параметров — cm/unit, который будет отвечать за физический размер флага. Чтобы было понятней — уменьшая или увеличивая это значение, мы меняем значение размеров куска материи для просчетов. Либо это будет шелковое полтонище 2 на 3 метра, либо кусок 20 на 30 сантиметров. При этом размеры на экране остаются постоянными.

Анимация флага
С настройкой физических параметров мы закончили, теперь перейдем к непосредственно к анимации. Поскольку флаг должен развеваться на ветру, необходимо этот самый ветер добавить. Create -> SpaceWarps -> Forces -> Wind. Остается придать ему нужное направление:

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

После того, как вы добавили ветер, необходимо указать в модификаторе Cloth флага, что этот ветер собственно будет на него дуть :) Для этого в свойствах модификатора Cloth нажимаем на кнопку Cloth Forces. В появившемся окне необходимо перенести ветер из Forces in Scene в Forces in Simulation и нажать Ok.

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

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

После того, как точки выделены нажимаем на кнопку Make Group. В выскочившем окошке соглашаемся с именем Group01 и жмем Ok. После этого вкладка Group примет следующий вид:

Затем в списке групп выделяем созданную Group01 и жмем по кнопке Drag:

Теперь вместо Group01 (unassigned) должно появиться Group01 (Drag):

После проделанных шагов можно смело запускать процесс Simulation и наблюдать за анимацией флага. Для этого кликаем на модификатор Cloth и нажимаем на кнопку Simulate:

Последний штрих
В процессе симуляции можно поиграться с параметрами гравитации и настройками ветра, чтобы добиться необходимых вам волн. Затем остается создать материал полотнища флага, где в качестве Diffuse Color указать карту Bitmap с необходимым вам изображением флага. На моем ресурсе вы можете бесплатно взять изображения флагов в большом разрешении. Для этого достаточно перейти в раздел список стран и загрузить все флаги. После этого созданный флаг примет следующий вид:

Мищенко Михаил, 17 сентября 2009
Комментарии
WeRnEr, 3 декабря 2009
Спасибо боьшое за статью и за труд, очень понравилось=) теперь будем делать мультик с лодочкой.
Zimen, 23 мая 2010
Благодарю за проделанный вами труд. Очень полезный урок. Особенно для таких людей, как я, которые только начинают разбираться в 3d.
