Превращаем объекты в пыль
Всем привет! Меня зовут Михаил Ковалев.
Работаю на телевидении в Нижнем Новгороде. Занимаюсь ТВ-дизайном.
В своих работах активно использую 3D.
В этом уроке я расскажу, как добиться эффекта, когда с виду твердый объект, прямо на глазах превращается в пыль и уносится ветром.
В пыль мы можем превратить все, что угодно. Начнем, однако, с простого цилиндра.
1. Создадим NURBS плоскость с помощью команды Create > NURBS Primitives > Plane,
со значениями ширины и высоты равными 100.
Это будет поверхность земли.
2. Создадим цилиндр Create > NURBS Primitives > Cylinder. Радиус 2, высота 6.
Переместим цилиндр на три значения вверх.
По вкусу добавляем освещение.
Что бы создать геометрию быстрее, скопируйте в Script Editor следующий текст и нажмите Enter на цифровой клавиатуре.
nurbsPlane -ax 0 1 0 -w 100 -lr 1;
cylinder -ax 0 1 0 -r 2 -hr 3;
setAttr "nurbsCylinder1.translateY" 3;
(советую всем начинающим майщикам, заняться изучением MEL – очень уж вещь полезная)
3. В Hypershade (Window > Rendering editor > Hypershade) создаем материал Lambert. В качестве значения атрибута Color выбираем 3d-текстуру Marble (мрамор).
Назначаем этот материал цилиндру.
Выделяем узел marble1 и цилиндр. Запекаем текстуру.
4. Нажав F4, переходим в режим Dynamics.
Выделяем nurbsCylinder1 и делаем его источником частиц.
В Attribute Editor делаем следующие настройки.
5. Затем нам предстоит создать и анимировать две Ramp-текстуры.
Ramp1 будет управлять излучением частиц.
Ramp2 управляя прозрачностью материала, заставит цилиндр постепенно исчезать.
Создаем Ramp-текстуру отдельно (не подключая пока ни куда).
Для этого щелкаем на значке Ramp в Hypershader.
В редакторе атрибутов для этого градиента делаем примерно такую черную полоску:
Ставим таймер анимации на 25 кадров.
По очереди выделяем каждый из трех элементов градиента (отмеченных на рисунке как 0, 1, 2) и ставим ключи анимации для атрибута Selected Position.
Т.е. выделяем элемент под номером 0, щелкаем правой кнопкой мыши на атрибуте Selected Position.
В появившемся списке выбираем Set key (поставить ключ).
Повторяем операцию для элементов 1 и 2.
Ставим таймер анимации на 150 кадров и, не меняя значений Selected Position, повторяем расстановку ключей.
Выделив Ramp1 в Hypershader, откроем редактор анимационных кривых.
По очереди, выделяя начальные точки кривых, вводим значения параметров представленных на рисунках:
аналогичным образом вводим значения конечных точек
-0,2 для ColorEntryList[0]
-0,1 для ColorEntryList[1]
0,001 для ColorEntryList[2]
Так мы анимировали узкую черную полоску в Ramp1, которая движется сверху вниз. О ее ширине можно получить четкое представление, если выделить все кривые в Graph Editor.
При желании можно настроить ширину полосы на глаз.
Переходим в Hypershade и делаем копию Ramp1
В полученной копии (Ramp2) удаляем нижнюю позицию градиента
6. Разворачиваем оба градиента на 90 градусов.
7. Подключаем Ramp2 к материалу мрамора в качестве карты прозрачности.
Цилиндр теперь постепенно исчезает с 25 по 150 кадр.
8. Раскрашиваем частицы.
В закладке ParticleShape1 добавляем атрибут цвета.
Ставим флажок на Add Per Particle Attribute
и жмем Add Attribute.
Вот тут начинается самое интересное.
Средней кнопкой мыши, перетаскиваем запеченную текстуру мрамора из Hypershade на Particle Color, что находится на закладке Particle1. Ставим флажок на Inherit Color (наследование цвета).
Отныне все частицы, в точности повторяют текстуру объекта.
9. Точно также переносим Ramp1 на Texture Rate.
Устанавливаем флажки на Enable Texture Rate и Emit From Dark.
10. Что бы частицы сносило в сторону, добавляем поле Gravity (гравитация).
меняем направление поля с Y на Z
С помощью поля Turbulence (турбулентность) можно задать потоку частиц случайный характер.
11. Нам нужно, что бы частицы отлетая от объекта, постепенно испарялись. Для этого добавляем атрибут прозрачности.
Щелкаем правой кнопкой мыши на появившемся атрибуте opacityPP и в открывшемся списке выбираем Create Ramp, создавая градиент, который будет управлять прозрачностью отдельных частиц.
Настраиваем градиент:
12. Для того, что бы частицы не проваливались под «землю», свяжем их с Plane1 событием столкновения.
В Outliner выделите вначале узел particleShape1, затем с Ctrl выделите Plane1.
Выполните команду Particles > Make Collide.
Вот собственно и все. Рекомендую рендерить по слоям. Частицы отдельно, геометрию отдельно.
P. S. Меняя настройки генерации и формы частиц, а так же поэкспериментировав с полями. Вы можете добиться самых разнообразных эффектов. Например, частицы могут осыпаться вниз, формируя кучу пепла…