Системы частиц (particle systems)

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

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

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

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

За создание систем частиц отвечает категория ParticleSystems (Системы частиц) панели Create (Создать), при выборе которой становятся доступными все типы систем частиц.

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

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

Spray

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

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

Вид проекции Top Вид проекций со Spray-частицами в одном из

со Spray-эмиттером промежуточных кадров

в нулевом кадре

При необходимости несложно отрегулировать положение частиц, их количество и характер движения через свитки параметров на панели Modify. Так, в области 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 (скрыть).

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

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

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

Установите вариант ото-бражения частиц в окнах проекций в виде точек (Dots) — обратите внима-ние, что теперь изменение размеров частиц не будет фиксироваться в окнах проекций. Уменьшите вре-мя их жизни (Life) до пяти кадров и проиграйте ани-мацию, где сразу станет заметно, что уменьшилось не только время, в течение которого виден след от частиц, но и область их распространения.

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

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

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

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

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

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: