Первые шаги в Maya. Урок 22. Динамические эффекты
Праздничный фейерверк
Попробуем так настроить параметры эффекта Fireworks, чтобы получить настоящий фейерверк. Создайте новую сцену и установите нацеленную камеру (CameraandAim). Откройте для камеры окно редактора атрибутов, в секции Environment (Окружающая среда) щелкните на кнопке ImagePlaneCreate (Создать плоскость изображения) и укажите файл с подходящим для задуманной задачи фоновым рисунком (рис. 21). Затем в секции Placement (Расположение) щелкните на кнопке FittoFilmGate (В соответствии с пленкой), чтобы плоскость изображения была корректно внедрена в сцену. Вручную подберите значения параметров Lens Squeeze Ratio и Size (рис. 22) так, чтобы изображение заняло все пространство сцены (рис. 23). Увеличьте число кадров анимации до 150 и создайте эффект Fireworks (команда Effects => Create Fireworks) с пятью ракетами (то есть установите при создании эффекта параметр NumRockets равным 5) — рис. 24.
Рис. 21. Фоновое изображение
Рис. 22. Настройка параметров камеры для фонового изображения
Рис. 23. Результат внедрения фонового изображения
Рис. 24. Вид сцены после назначения эффекта Fireworks
Чтобы след от ракет не отображался, установите TrailEmitRate равным 0. Уменьшите значение параметра MaxBurstSpeed до 12, а значения параметров Sparks Glow и SparksIncandescence сделайте равными 0,2 и 0,15 соответственно (рис. 25) — вспышки от взрывов станут более компактными, а искры менее яркими и не столь светящимися (рис. 26). Увеличьте воздействующую на ракеты силу гравитации (параметр Rocket Gravity) до 17,8 и установите параметр MinSparksCount равным 200 (рис. 27) — в итоге ракеты станут активнее стремиться к земле, а искры от них окажутся распределенными более равномерно (рис. 28). Переключитесь в редактор атрибутов, активируйте вкладку Fireworks и увеличьте разброс ракет по оси X, установив для соответствующего параметра Shear значение 0,3 (рис. 29). Создайте дополнительно еще два фейерверка (по одной ракете в каждом) с теми же параметрами и отрегулируйте их положение, для каждого вручную подобрав значения параметров Translate Y и Translate X (рис. 30). Возможный вид полученной в итоге сцены в одном из кадров анимации представлен на рис. 31.
Рис. 25. Первое изменение параметров эффекта Fireworks
Рис. 26. Результат первой корректировки параметров эффекта Fireworks
Рис. 27. Второе изменение параметров эффекта Fireworks
Рис. 28. Результат второй корректировки параметров эффекта Fireworks
Рис. 29. Увеличение разброса ракет
Рис. 30. Изменение положения одного из дополнительных фейерверков
Рис. 31. Праздничный фейерверк
Fire
Эффект Fire позволяет имитировать эффекты горения и потому применяется для создания пламени, взрывов и шаровых молний. Он может быть назначен NURBS-моделям и NURBS-кривым, полигональным поверхностям, пространственным Lattice-решеткам и системам частиц. Частицы, имитирующие эффект Fire, связываются с управляющими точками (в случае NURBS-поверхности) или вершинами (при использовании полигональной сетки или Lattice-решетки).
При назначении эффекта Fire следует руководствоваться следующими правилами:
- применяйте данный эффект только на одном объекте либо на группе объединенных полигональных объектов. При необходимости назначения эффекта группе полигональных поверхностей их необходимо предварительно объединить командой Polygons => Combine (Полигоны => Объединить). В случае NURBS-поверхностей придется вначале конвертировать их в полигональные модели командой Modify => Convert => NURBS to Polygons (Изменение => Конвертировать => NURBS в Полигоны), а затем применить к полученным поверхностям команду Polygons => Combine (Полигоны => Объединить);
- размер и форма объекта, которому назначен эффект, влияет на вид получаемого огня, поэтому при необходимости получения большой огненной области требуется использовать достаточно большой объект. В случае назначения эффекта NURBS-кривой лучше применять плавные кривые, а не кривые с резкими переходами;
- допускается назначать эффект огня одному и тому же объекту несколько раз — зачастую это позволяет добиваться лучшего результата путем разной настройки параметров «огневых частиц» в различных Fire-системах.
Обратите также внимание на то, что назначить эффект Fire только части объекта невозможно. Поэтому в случаях, когда пламя должно появляться не на всем объекте, а лишь в какой-то его области (как, скажем, при горении спички), приходится создавать в этой области невидимый (или видимый — зависит от ситуации) объект с назначенным огневым эффектом.
Для назначения объекту Fire-эффекта достаточно выделить его и воспользоваться командой Effects => CreateFire (Эффекты => Создать огонь). Параметры огня можно настроить как в процессе назначения эффекта (если щелкать на плюсике у указанной команды), так и позднее — через окно каналов либо редактор атрибутов.
Для примера создайте простую сцену с полигональным цилиндром (рис. 32) и примените к нему команду Effects => CreateFire — в окне Outliner появится эмиттер с системой частиц и воздействующих на них полями (рис. 33). Однако пока никакого эффекта огня видно не будет, но это лишь потому, что кадр нулевой. Нажмите на панели анимации кнопку Play, и частицы тут же появятся, а при визуализации одного из промежуточных кадров станет видно и пламя (рис. 34). Правда, вид пламени совсем не такой, как хотелось бы, — горят только основания цилиндра, что, впрочем, неудивительно, ведь число разбиений по высоте у цилиндра мы не увеличивали. Отмените создание эффекта либо удалите соответствующие объекты в окне Outliner, увеличьте у цилиндра значение параметра Subdivisions Height до 5 и вновь назначьте цилиндру эффект огня — результат окажется гораздо более реалистичным (рис. 35).
Рис. 32. Исходная сцена
Рис. 33. Результат назначения эффекта Fire
Рис. 34. Первоначальный вид одного из кадров с Fire-эффектом
Рис. 35. Результат изменения геометрии цилиндра
Характер огня зависит не только от геометрии объекта, но и от огневых параметров, устанавливаемых при назначении эффекта в окне CreateFireEffect Options (рис. 36) либо изменяемых позднее в окне каналов. Огневые параметры позволяют регулировать плотность огня ( FireDensity), размер языков пламени (FlameS tart Radius и Flame End Radius) и его интенсивность ( Fire Intensity), а кроме того, разброс и скорость распространения огня ( Fire Spread и Fire Speed), направленность распространения ( Fire Direction X/ Fire Direction Y/ Fire Direction Z) и др. Кроме того, вид огня может быть существенно изменен при корректировке параметров настройки материала, используемого для текстурирования огневых частиц (рис. 37). Это регулируется в редакторе атрибутов через назначенные для цвета, прозрачности и свечения Ramp-текстуры, 3D-Crater текстуру, задействованную в качестве BlobMap (Карта капель), параметры эффекта Glow (Свечение) и т.д.
Рис. 36. Окно Create Fire Effect Options
Рис. 37. Установленные по умолчанию параметры настройки материала огня (наиболее важные параметры выделены)
Светящаяся звезда
Воспользуемся эффектом Fire для создания модели светящейся звезды, за основу которой возьмем обычный шар. Создайте новую сцену с NURBS-шаром (рис. 38) и назначьте ему эффект огня, указав в поле Fire Emitter Type (Тип Fire-эмиттера) вариант Surface — пока полученный в итоге горящий шар совершенно не походит на светящуюся звезду (рис. 39). Для достижения желаемого эффекта нам требуется кардинально изменить характер движения огневых частиц. Удалите автоматически назначенную частицам при создании огня гравитационную силу (строка Gravity в окне Outliner) — частицы не станут столь далеко отлетать от шара (рис. 40). Чтобы еще уменьшить разброс частиц, увеличьте силу воздействия поля трения до 100 (параметр Magnitude для объекта dragField1). Для активного равномерного перемешивания частиц внутри ограниченного объема назначьте им турбулентную силу (команда Fields=>Turbulence) и подкорректируйте ее параметры (рис. 41): увеличьте значение Magnitude до 80, установите в полях Volume Shape и Interpolation Type варианты Sphere и Quadratic соответственно и обнулите значения параметров Noise Level и Noise Ratio. А затем сделайте шар полупрозрачным (чтобы было лучше видно частицы) и масштабируйте саму систему частиц так, чтобы частицы практически не вылетали за пределы шара (рис. 42).
Рис. 38. Исходная сцена
Рис. 39. Результат назначения шару эффекта Fire
Рис. 40. Вид сцены после удаления силы гравитации
Рис. 41. Параметры настройки силы Turbulence
Рис. 42. Результат корректировки параметров полей Turbulence и Drag
Откройте редактор материалов и создайте новый полупрозрачный Blinn-материал с текстурой Noise на канале Color, измените настройки данной текстуры в соответствии с рис. 43, установив в поле Color Offset текстуру Noise и откорректировав ряд других параметров. Назначьте созданный материал шару, который станет светиться уже вполне реалистично для раскаленной звезды (рис. 44). Займемся теперь фоном. Установите нацеленную камеру (CameraandAim). Откройте для камеры окно редактора атрибутов, в секции Environment (Окружающая среда) щелкните на кнопке ImagePlaneCreate (Создать плоскость изображения) и в поле Type (свиток Image Plane Attributes) выберите вариант Texture (рис. 45). В поле Texture установите текстуру Noise с настроенными по своему усмотрению параметрами — выбранный в нашем случае вариант настройки приведен на рис. 46, а вид визуализированной сцены — на рис. 47.
Рис. 43. Настройка параметров материала
Рис. 44. Результат назначения материала шару
Рис. 45. Установка фоновой текстуры
Рис. 46. Параметры настройки Noise -текстуры для фона
Рис. 47. Светящаяся звезда