3D Studio MAX: первые шаги. Урок 16. Системы частиц. Часть 1

Светлана Шляхтина

Теоретические аспекты

Spray

Огни фейерверка

Разноцветное конфетти

Ливневый дождь

Snow

Снегопад

Кружащиеся кленовые листья

РАrrау

Взрыв геосферы

Движущийся косяк рыбы

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

Теоретические аспекты

Системы частиц (ParticleSystems) — это совокупность управляемых с помощью параметров малоразмерных объектов, количество и вид которых различны в каждом кадре анимации. В 3D Studio MAX предусмотрено семь видов систем частиц (рис. 1):

  • Spray (Брызги) и SuperSpray (Супербрызги) — обеспечивают эффект водяных брызг;
  • Snow (Снег) и Blizzard (Метель) — создают эффект падающего снега и даже настоящей метели;
  • PCloud (Облако частиц), РАrrау (Массив частиц) и PF Source (Источник Particle Flow) — предназначены для моделирования широкого спектра эффектов.

 

Рис. 1. Базовые типы систем частиц

Рис. 1. Базовые типы систем частиц

За создание систем частиц отвечает категория ParticleSystems (Системы частиц) панели Create (Создать) — рис. 2, при выборе которой становятся доступными все типы систем частиц. Технология их создания напоминает создание других объектов геометрии. Например, при формировании систем Spray, Snow, Blizzard и Super Spray достаточно просто выбрать тип системы частиц и перетащить мышь при нажатой левой кнопке по диагонали, а затем на панели Modify откорректировать параметры системы объектов. При создании любого типа частиц создается генерирующий их объект — эмиттер. Он определяет площадь, с которой будут падать частицы, и направление их перемещения (задается направлением вектора, выходящим из центра эмиттера). Эмиттер не визуализируется и в самом простом случае является двумерным. В окнах проекций он отображается в виде прямоугольника (рис. 3). Частицы, в отличие от эмиттера, визуализируются, хотя в нулевом кадре их не видно, но они прекрасно отображаются в любом кадре, отличном от нулевого.

 

Рис. 2. Категория ParticleSystems

Рис. 2. Категория ParticleSystems

 

Рис. 3. Частицы и генерирующий их эмиттер — частицы отображены розовым цветом, а эмиттер — оранжевым

Рис. 3. Частицы и генерирующий их эмиттер — частицы отображены розовым цветом, а эмиттер — оранжевым

Для большей части систем частиц эмиттер не только генерирует частицы, но и сам их испускает. Исключение составляют системы ParticleArray и ParticleCloud, в которых испускание частиц производится с другого (предварительно выбранного пользователем) объекта сцены, а за эмиттером сохраняется функция генерирования частиц в соответствии с указанными параметрами.

В начало В начало

Spray

Система частиц Spray (Брызги) позволяет генерировать падающие частицы, сохраняющие при перемещении постоянную ориентацию и направление, и предназначена для имитации эффекта падающей воды: водяных брызг, дождевых струй и т.п.

Для примера создайте систему частиц типа Spray (Брызги). Выберите Create=>Geometry=>ParticleSystems, щелкните на кнопке Spray и в окне проекции Top нарисуйте прямоугольный эмиттер — никаких частиц при этом видно не будет (рис. 4), но это лишь потому, что кадр нулевой. Нажмите на панели анимации кнопку Play, и частицы тут же появятся (рис. 5), причем их количество и положение в каждом кадре будет меняться.

 

Рис. 4. Вид проекции Top со Spray-эмиттером в нулевом кадре

Рис. 4. Вид проекции Top со Spray-эмиттером в нулевом кадре

 

Рис. 5. Вид проекций со Spray-частицами в одном из промежуточных кадров

Рис. 5. Вид проекций со Spray-частицами в одном из промежуточных кадров

При необходимости несложно отрегулировать положение частиц, их количество и характер движения через свитки параметров на панели Modify (рис. 6). Так , в области Particles можно определить следующие параметры:

  • ViewportCount — максимальное число частиц, отображаемых в окне проекций в любой момент времени;
  • RenderCount — максимальное число частиц, видимых в каждом отдельном кадре итоговой визуализации; как правило, для окончательной визуализации сцены следует задавать достаточно большую величину этого параметра — порядка 1000;
  • DropSize — размер частиц;
  • Speed — средняя начальная скорость каждой частицы в момент отрыва от источника, в дальнейшем, если на частицы не действует какая-либо из объемных деформаций (например, гравитация), то они движутся с этой же скоростью, в противном случае скорость меняется в зависимости от вида и настроек гравитации;
  • Variation — разброс значений начальных скоростей и направлений распространения частиц, от значения которого зависит область их распространения — чем больше значение данного параметра, тем шире область распространения.

Кроме того, здесь же выбирается вариант отображения частиц в окнах проекций — Drops (Лучи), Dots (Точки) и Ticks (Крестики).

Вид частиц при рендеринге задается в области Render, где предусмотрено два варианта отображения:

  • Tetrahedron — частицы визуализируются в виде вытянутых тетраэдров, длина которых равна значению параметра DropSize, напоминая дождевые капли;
  • Facing — частицы визуализируются в виде квадратных полигонов, размеры которых совпадают с размерами частицы; форму данных полигонов можно изменять посредством наложения материалов на основе текстурных карт с масками непрозрачности.

В области Timing регулируется время жизни частиц:

  • Start — номер кадра, в котором начнется испускание частиц; по умолчанию данный параметр равен 0, в результате чего в 0-м кадре частицы не видны; если же требуется, чтобы все частицы, задаваемые полями счетчиков, присутствовали уже в 0-м кадре, то в данном поле устанавливается отрицательное значение;
  • Life — продолжительность жизни частицы в кадрах; чем больше значение данного параметра, тем дольше виден след, оставляемый частицами; если Life = 0, то частицы следа за собой не оставляют;
  • BirthRate — число новых частиц, появляющихся в каждом следующем кадре анимации. Если значение данного параметра превышает максимально допустимое значение — MaxSustainableRate,вычисляемое как частное параметров RenderCount и Life, то генерация частиц производится прерывисто. Для получения устойчивого потока частиц значение BirthRate должно быть меньше или равно MaxSustainableRate. Данный параметр можно изменять только при сброшенном флажке Constant.

В области Emitter определяются размеры эмиттера — его ширина (Width) и длина (Length), здесь же можно отказаться от отображения эмиттера в окнах проекций, для чего требуется включить опцию Hide (скрыть).

 

Рис. 6. Список параметров системы Spray-частиц

Рис. 6. Список параметров системы Spray-частиц

Чтобы разобраться с особенностями настройки названных параметров, активируйте созданную систему Spray-частиц, включите режим анимации с автоматическим созданием ключей, переключитесь на последний кадр и на панели Modify увеличьте размер частиц (DropSize) до 5, а скорость их движения (Speed) до 20 (рис. 7). Отключите режим автоматического создания колючей, вернитесь в 0-й кадр и проиграйте анимацию в окне проекции Perspective и увидите, что при увеличении номера кадра размер частиц увеличивается, равно как и скорость их падения (рис. 8).

 

Рис. 7. Создание ключей анимации для параметров DropSize и Speed

Рис. 7. Создание ключей анимации для параметров DropSize и Speed

 

Рис. 8. Вид частиц в 20-м (слева) и 100-м кадрах

Рис. 8. Вид частиц в 20-м (слева) и 100-м кадрах

Установите вариант отображения частиц в окнах проекций в виде точек (Dots) — обратите внимание, что теперь изменение размеров частиц не будет фиксироваться в окнах проекций. Уменьшите время их жизни (Life) до пяти кадров и проиграйте анимацию, где сразу станет заметно, что уменьшилось не только время, в течение которого виден след от частиц, но и область их распространения (рис. 9). Верните первоначальное значение параметра Life. Отключите флажок Constant, а затем увеличьте значение параметра BirthRate до 10. Это приведет к порционной генерации частиц, где на некоторых кадрах на экране одновременно будут находиться не одно, а сразу два облака частиц (рис. 10). Включите флажок Constant — частицы вновь станут испускаться эмиттером равномерно.

 

Рис. 9. Вид частиц в 5-м (сверху) и 100-м кадрах — в обоих случаях четко видна граница максимального распространения частиц

Рис. 9. Вид частиц в 5-м (сверху) и 100-м кадрах — в обоих случаях четко видна граница максимального распространения частиц

 

Рис. 10. Вид частиц в 20-м (сверху) и 37-м кадрах

Рис. 10. Вид частиц в 20-м (сверху) и 37-м кадрах

Удалите для параметров DropSize и Speed созданные ранее ключи анимации, увеличьте размер частиц до 4 и проведите рендеринг для одного из промежуточных кадров анимации (рис. 11). Обратите внимание, что все частицы движутся одинаково. Увеличьте разброс значений начальных скоростей и направлений частиц (Variation) до 3 — частицы станут разлетаться не в одном, а сразу в нескольких направлениях (рис. 12). Создайте AVI-файл — примените команду Rendering=>Render, на вкладке CommonParameters активизируйте переключатель ActiveTimeSegment (Активный сегмент времени), укажите имя файла и щелкните на кнопке Render. Просмотрите созданную анимацию в окне встроенного проигрывателя — частицы будут хаотично перемещаться, но количество их окажется невелико. Поэтому увеличьте значение параметра RenderCount примерно до 1000-1500 и вновь проведите визуализацию — поток частиц станет гораздо мощнее (рис. 13).

 

Рис. 11. Вид сцены при одинаковом движении частиц

Рис. 11. Вид сцены при одинаковом движении частиц

 

Рис. 12. Вид сцены при хаотичном движении частиц и соответствующие ему настройки базовых параметров

Рис. 12. Вид сцены при хаотичном движении частиц и соответствующие ему настройки базовых параметров

 

Рис. 13. Демонстрация анимации в окне Windows-проигрывателя и соответствующие настройки базовых параметров анимации частиц

Рис. 13. Демонстрация анимации в окне Windows-проигрывателя и соответствующие настройки базовых параметров анимации частиц

В начало В начало

Огни фейерверка

Попробуем превратить разлетающиеся частицы в настоящий фейерверк — для этого достаточно подобрать оптимальный для данного случая разброс частиц (мы остановились на 6) и назначить частицам светящийся и отливающий разными цветами материал. Поскольку речь идет о получении разноцветных огней, то в качестве материала может быть использована специально созданная, например в генераторе фрактальной графики, и установленная на канале Diffuse разноцветная Bitmap-текстура, многослойный Composite-материал (в котором сквозь один материал будут просвечивать другие) либо материал Multi/Sub-Object. Мы остановимся на последнем варианте, так как он позволяет назначать материал не всем частицам сразу, а каждой следующей частице отдельно — очередная частица принимает материал на основе собственного номера (0-я получает 1-й материал, 1-я — 2-й и т.д.). Создайте материал Multi/Sub-Object и ограничьте число входящих в него подматериалов, например, пятью (кнопка Set Number). Последовательно назначьте в качестве подматериалов стандартные материалы с разными цветами на канале Diffuse и большим значением SpecularLevel для получения эффекта свечения (рис. 14). Один из кадров полученной в результате анимации представлен на рис. 15.

 

Рис. 14. Настройка параметров материала Multi/Sub-Object

Рис. 14. Настройка параметров материала Multi/Sub-Object

 

Рис. 15. Огни фейерверка

Рис. 15. Огни фейерверка

В начало В начало

Разноцветное конфетти

А теперь создадим на основе Spray-частиц разноцветное конфетти. Для этого вначале сформируйте систему частиц с большим по размеру эмиттером, указав подходящие значения ширины (Width) и длины (Length) в области Emitter, разместите эмиттер в верхней части окна проекции Perspective (рис. 16), а затем на панели Modify в области Render включите вариант Facing. Проведите рендеринг — частицы станут квадратными, причем размер квадратов будет напрямую зависеть от значения DropSize (рис. 17).

 

Рис. 16. Исходная система частиц

Рис. 16. Исходная система частиц

 

Рис. 17. Визуализация в режиме Facing

Рис. 17. Визуализация в режиме Facing

Как правило, вариант отображения Facing используется не напрямую (когда частицы представлены обычными квадратами), а в сочетании с полупрозрачным материалом, имеющим маску, — тогда можно придать частицам произвольную форму. Поскольку мы создаем конфетти, то нам потребуется маска в виде обычного белого круга на черном фоне, которую можно создать в любом растровом редакторе (рис. 18). Самое простое — создать Blend-материал, который позволяет смешивать два материала, в том числе и с применением маски, и назначить его системе частиц. В таком случае все частицы будут круглые, но окажутся одного цвета. А разные цвета будут получены благодаря использованию материала Multi/Sub-Object, поэтому будем применять данный тип материала в качестве основного, а Blend-материалы — как подматериалы. Создайте новый материал типа Multi/Sub-Object с тремя подматериалами и в качестве каждого из подматериалов установите материал Blend. Откройте первый материал Blend и верхним для него подматериалом назначьте стандартный полностью прозрачный черный материал, а нижним — цветной с большим значением SpecularLevel, по окончании установите маску (рис. 19). Аналогичным образом настройте другие Blend-материалы, использовав для них отличные от уже задействованного цветовые оттенки — в итоге вы получите такой же материал Multi/Sub-Object, как показан на рис. 20. Возможный вид одного из кадров созданной в результате анимации представлен на рис. 21.

 

Рис. 18. Черно-белое изображение круга

Рис. 18. Черно-белое изображение круга

 

Рис. 19. Настройка параметров первого Blend-материала

Рис. 19. Настройка параметров первого Blend-материала

 

Рис. 20. Настройка параметров материала Multi/Sub-Object

Рис. 20. Настройка параметров материала Multi/Sub-Object

 

Рис. 21. Разноцветное конфетти

Рис. 21. Разноцветное конфетти

В начало В начало

КомпьютерПресс 5'2007


Наш канал на Youtube

1999 1 2 3 4 5 6 7 8 9 10 11 12
2000 1 2 3 4 5 6 7 8 9 10 11 12
2001 1 2 3 4 5 6 7 8 9 10 11 12
2002 1 2 3 4 5 6 7 8 9 10 11 12
2003 1 2 3 4 5 6 7 8 9 10 11 12
2004 1 2 3 4 5 6 7 8 9 10 11 12
2005 1 2 3 4 5 6 7 8 9 10 11 12
2006 1 2 3 4 5 6 7 8 9 10 11 12
2007 1 2 3 4 5 6 7 8 9 10 11 12
2008 1 2 3 4 5 6 7 8 9 10 11 12
2009 1 2 3 4 5 6 7 8 9 10 11 12
2010 1 2 3 4 5 6 7 8 9 10 11 12
2011 1 2 3 4 5 6 7 8 9 10 11 12
2012 1 2 3 4 5 6 7 8 9 10 11 12
2013 1 2 3 4 5 6 7 8 9 10 11 12
Популярные статьи
КомпьютерПресс использует