Первые шаги в Maya. Урок 14. Программно-визуализируемые системы частиц (часть 1)
Воздействие на частицы физических сил
Примеры внедрения частиц в сцену
Воздействие на частицы физических сил
В действительности частицы не являются независимыми объектами, так как подвергаются воздействию разнообразных внешних сил — в частности гравитации и турбулентности, что приводит к изменению траектории их движения. Создание силовых воздействий обеспечивают силовые поля Fields (Поля), доступные в режиме Dynamics (Динамика), — рис. 21. На частицы могут воздействовать следующие силовые поля;
- Air (Ветер) — имитирует воздействие ветра, отклоняющего частицы;
- Drag (Трение) — замедляет движение частиц вследствие трения;
- Gravity (Гравитация) — используется для имитации воздействия силы тяжести;
- Newton (сила Ньютона) — обеспечивает орбитальное вращение частиц;
- Radial (Радиальность) — приводит к разбрасыванию частиц в разные стороны или, наоборот, к притягиванию их к некоторой зоне;
- Turbulence (Турбулентность) — приводит к перемешиванию частиц во время движения;
- Vortex (Вихрь) — создает эффект закручивания частиц по спирали.
Рис. 21. Выбор силового поля
Активируйте 1-й кадр, воспроизводите анимацию до тех пор, пока не появятся частицы, выделите их и создайте для частиц турбулентное поле, воспользовавшись командой Fields=>Turbulence (Поля=>Турбулентность). Это приведет к появлению нового объекта — поля турбулентности (рис. 22), под воздействием которого через несколько кадров перемещение частиц станет беспорядочным (они начнут активно перемешиваться), хотя общее направление движения сохранится (рис. 23).
Рис. 22. Добавление турбулентного поля
Рис. 23. Изменение поведения частиц под воздействием турбулентности
Попробуем добавить к данной системе гравитационную силу. Активируйте 1-й кадр, выделите в окне Outliner систему частиц и примените команду Fields=>Gravity (Поля=>Гравитация). Назначенная по умолчанию гравитационная сила окажется столь сильной, что все частицы станут падать вниз (рис. 24). Поэтому отрегулируем степень воздействия гравитационного поля (параметр Magnitude для поля) и скорость испускания эмиттером частиц (параметр Speed для эмиттера) так, чтобы последние вначале вылетали вверх, немного поднимались и лишь затем падали, — мы остановились на значениях 8 и 12 соответственно (рис. 25 и 26). И напоследок немного расширим поток частиц, чтобы они падали не только прямо вниз на куб, но и немного по сторонам — для этого выделите эмиттер и немного увеличьте для него значение параметра TangentSpeed (Скорость по касательной), например до 0,35 (рис. 27).
Рис. 24. Вид одного из промежуточных кадров анимации после назначения системе частиц гравитационного поля
Рис. 25. Регулирование параметров Magnitude и Speed
Рис. 26. Результат корректировки параметров Magnitude и Speed
Рис. 27. Падение частиц после увеличения скорости по касательной
Примеры внедрения частиц в сцену
Движущийся косяк рыбы
Пусть у нас имеется образец некоторого объекта, например рыбы (рис. 28), на основе которого требуется сгенерировать группу однотипных объектов — косяк рыбы. Загрузите объект-образец и, воспользовавшись инструментом ParticleTool (Создание частиц), вручную создайте в пространстве систему частиц (рис. 29). Выделите объект-образец и созданную систему частиц и настройте их движение. Мы ограничимся обычным перемещением по прямой (хотя при желании можно задать и более сложную траекторию движения, определив, например, перемещение по криволинейному пути). Активируйте 1-й кадр, перетащите выделенные объекты в правую часть окна проекции и в окне каналов создайте ключи для параметров Translate X, Translate Y и Translate Z, воспользовавшись командой Key Selected (Ключи для выделенного) из контекстного меню (рис. 30). Переключитесь в последний кадр, переместите выделенные объекты в левую часть окна проекции и вновь создайте анимационные ключи для тех же самых параметров (рис. 31).
Рис. 28. Образец рыбы
Рис. 29. Появление системы частиц
Рис. 30. Создание ключей для первого кадра
Рис. 31. Создание ключей для последнего кадра
Осталось заменить частицы на объект-образец. Для этого выделите образец, щелкните на квадратике, расположенном справа от команды Instancer (Заместитель) из меню Particles (Частицы), удостоверьтесь, что в списке Particle Object toInstance (Частицы для замены объектом) выбрана созданная для этой цели система частиц, и щелкните на кнопке Apply. В итоге каждая частица будет заменена на указанный образец (рис. 32). Более того, при анимации все частицы (то есть косяк рыбы) будут двигаться вместе с объектом-образцом. По окончании назначьте образцу и созданным по нему частицам подходящий материал и поместите созданную группу рыб в водную среду. Возможный вид одного из промежуточных кадров полученной в итоге анимации представлен на рис. 33.
Рис. 32. Вид сцены после замены частиц на образец в окне перспективы
Рис. 33. Движущийся косяк рыбы
Плывущее облако
Попробуем на базе системы Cloud-частиц смоделировать небольшое облако и отправить его в путешествие. Создайте NURBS-плоскость с числом разбиений по обеим осям — 10 и назначьте ей пространственную решетку с параметрами 5x5x5, щелкнув на квадратике справа от команды Deform=>CreateLattice (Деформация=>Создать решетку) и отрегулировав параметры решетки (рис. 34). Деформируйте Lattice-решетеку так, чтобы плоскость исказилась подходящим (в смысле формы предполагаемого облака) образом (рис. 35), а затем скройте Lattice-объект.
Рис. 34. Исходная NURBS-плоскость
Рис. 35. Деформированная NURBS-плоскость
Выделите деформированную плоскость и преобразуйте ее в активный объект, выбрав команду Modify=>MakeLive (Модифицировать=>Сделать активным) или щелкнув на кнопке MaketheselectedObjectLive (Сделать активным выделенный объект), расположенной в верхней части экрана. Данная операция необходима для того, чтобы система частиц, которую мы сейчас будем создавать, не оказалась независимой, а как бы принадлежала данной поверхности, а значит, и повторяла бы ее пространственную структуру. Щелкните на квадратике, расположенном справа от команды Particles=>ParticleTool (Частицы=>Создание частиц), и настройте параметры инструмента внедрения частиц в соответствии с рис. 36. Вручную создайте систему частиц так, чтобы расположение частиц и их кучность соответствовали форме и плотности предполагаемого облака (рис. 37).
Рис. 36. Параметры настройки инструмента ParticleTool
Рис. 37. Исходная система частиц
Выйдите из режима работы с инструментом ParticleTool, щелкнув на любом другом инструменте на панели Tool Box, и скройте NURBS-плоскость. Выделите систему частиц и установите в качестве типа частиц при визуализации — тип Cloud. После этого подгрузите перечень индивидуальных параметров данного типа визуализации (кнопка CurrentRenderType) и установите значения параметров Radius (Радиус), SurfaceShadig (Затенение поверхности) и Threshold (Пороговое значение) в соответствии с рис. 38. Пока визуализированные частицы на облако совсем не похожи, хотя по форме вполне ему соответствуют (рис. 39), но их вид изменится, если поменять параметры автоматически назначенного частицам материала.
Рис. 38. Базовая настройка параметров типа частиц
Рис. 39. Первоначальный вид визуализированных частиц
По умолчанию частицам типа Cloud назначается объемный материал particleCloud — изменим его параметры так, чтобы система частиц хоть в какой-то степени напоминала облако. Откройте редактор Hypershade, дважды щелкните на материале particleCloud1 и измените параметры материала в соответствии с рис. 40, отрегулировав параметры прозрачности материала, характера шума и затенения поверхности. В итоге после рендеринга система частиц станет напоминать облако, хотя и чрезмерно плотное (рис. 41). Поэтому поэкспериментируйте с настройками материала — здесь все зависит от начальной плотности размещения частиц и их размера (поэтому в каждом случае параметры материала будут свои). В нашем примере мы уменьшили следующие параметры прозрачности материала: Density — до 0,3, а Roundness — до 0,2 (свиток Transparency). В итоге вид облака заметно улучшился (рис. 42).
Рис. 40. Параметры настройки материала particleCloud
Рис. 41. Вид частиц после первоначальной корректировки параметров материала particleCloud
Рис. 42. Окончательный вид облака
Теперь нужно заставить облако медленно двигаться. Для этого инструментом EPCurveTool (Кривая по точкам редактирования) нарисуйте на плоскости произвольную NURBS-кривую — это будет кривая-путь (рис. 43). Выделите систему частиц, а затем при нажатой клавише Shift еще и созданную кривую. Примените к ним команду Animate=>MotionPaths=>AttachtoMotionPath (Анимация=>Траектории движения=>Привязать к траектории движения). В итоге облако автоматически сместится в начальную точку кривой, а на самой траектории появятся два позиционных маркера с номерами первого и последнего кадров, задействованных в анимации (рис. 44). Проиграйте анимацию — частицы, образующие облако, начнут перемещаться по заданной траектории, сохраняя общую структуру облака, а облако соответственно будет плавно двигаться по небосклону, вид которого в одном из промежуточных кадров представлен на рис. 45.
Рис. 43. Появление кривой-пути
Рис. 44. Вид привязанного к траектории облака в одном из промежуточных кадров (с отображенными на траектории позиционными маркерами)
Рис. 45. Плывущее облако