|
Системы частиц часть 1Для придания реализма моделируемым сценам, помимо добавления атмосферных эффектов, нередко прибегают к внедрению в них множества очень мелких однотипных объектов, количество и вид которых изменяются с течением времени. Такие объекты принято называть системами частиц, и они незаменимы при моделировании струй дождя, брызг фонтана и хлопьев снега, искр огня, фейерверка и салюта, воздушных пузырьков и пыли, звездного неба и летящей стаи птиц и т.п. Именно с данным типом объектов мы и познакомимся в настоящем уроке. Теоретические аспектыСистемы частиц (ParticleSystems) — это совокупность управляемых с помощью параметров малоразмерных объектов, количество и вид которых различны в каждом кадре анимации. В 3D Studio MAX предусмотрено семь видов систем частиц (рис. 1):
Рис. 1. Базовые типы систем частиц
За создание систем частиц отвечает категория ParticleSystems (Системы частиц) панели Create (Создать) — рис. 2, при выборе которой становятся доступными все типы систем частиц. Технология их создания напоминает создание других объектов геометрии. Например, при формировании систем Spray, Snow, Blizzard и Super Spray достаточно просто выбрать тип системы частиц и перетащить мышь при нажатой левой кнопке по диагонали, а затем на панели Modify откорректировать параметры системы объектов. При создании любого типа частиц создается генерирующий их объект — эмиттер. Он определяет площадь, с которой будут падать частицы, и направление их перемещения (задается направлением вектора, выходящим из центра эмиттера). Эмиттер не визуализируется и в самом простом случае является двумерным. В окнах проекций он отображается в виде прямоугольника (рис. 3). Частицы, в отличие от эмиттера, визуализируются, хотя в нулевом кадре их не видно, но они прекрасно отображаются в любом кадре, отличном от нулевого.
Рис. 2. Категория ParticleSystems
Рис. 3. Частицы и генерирующий их эмиттер — частицы отображены розовым цветом, а эмиттер — оранжевым
Для большей части систем частиц эмиттер не только генерирует частицы, но и сам их испускает. Исключение составляют системы ParticleArray иParticleCloud, в которых испускание частиц производится с другого (предварительно выбранного пользователем) объекта сцены, а за эмиттером сохраняется функция генерирования частиц в соответствии с указанными параметрами. SprayСистема частиц Spray (Брызги) позволяет генерировать падающие частицы, сохраняющие при перемещении постоянную ориентацию и направление, и предназначена для имитации эффекта падающей воды: водяных брызг, дождевых струй и т.п. Для примера создайте систему частиц типа Spray (Брызги). Выберите Create=>Geometry=>ParticleSystems, щелкните на кнопке Spray и в окне проекции Top нарисуйте прямоугольный эмиттер — никаких частиц при этом видно не будет (рис. 4), но это лишь потому, что кадр нулевой. Нажмите на панели анимации кнопку Play, и частицы тут же появятся (рис. 5), причем их количество и положение в каждом кадре будет меняться.
Рис. 4. Вид проекции Top со Spray-эмиттером в нулевом кадре
Рис. 5. Вид проекций со Spray-частицами в одном из промежуточных кадров
При необходимости несложно отрегулировать положение частиц, их количество и характер движения через свитки параметров на панели Modify(рис. 6). Так , в области Particles можно определить следующие параметры:
Кроме того, здесь же выбирается вариант отображения частиц в окнах проекций — Drops (Лучи), Dots (Точки) и Ticks (Крестики). Вид частиц при рендеринге задается в области Render, где предусмотрено два варианта отображения:
В области Timing регулируется время жизни частиц:
В области Emitter определяются размеры эмиттера — его ширина (Width) и длина (Length), здесь же можно отказаться от отображения эмиттера в окнах проекций, для чего требуется включить опцию Hide (скрыть).
Рис. 6. Список параметров системы Spray-частиц
Чтобы разобраться с особенностями настройки названных параметров, активируйте созданную систему Spray-частиц, включите режим анимации с автоматическим созданием ключей, переключитесь на последний кадр и на панели Modify увеличьте размер частиц (DropSize) до 5, а скорость их движения (Speed) до 20 (рис. 7). Отключите режим автоматического создания колючей, вернитесь в 0-й кадр и проиграйте анимацию в окне проекции Perspective и увидите, что при увеличении номера кадра размер частиц увеличивается, равно как и скорость их падения (рис. 8).
Рис. 7. Создание ключей анимации для параметров DropSize и Speed
Рис. 8. Вид частиц в 20-м (слева) и 100-м кадрах
Установите вариант отображения частиц в окнах проекций в виде точек (Dots) — обратите внимание, что теперь изменение размеров частиц не будет фиксироваться в окнах проекций. Уменьшите время их жизни (Life) до пяти кадров и проиграйте анимацию, где сразу станет заметно, что уменьшилось не только время, в течение которого виден след от частиц, но и область их распространения (рис. 9). Верните первоначальное значение параметра Life. Отключите флажок Constant, а затем увеличьте значение параметра BirthRate до 10. Это приведет к порционной генерации частиц, где на некоторых кадрах на экране одновременно будут находиться не одно, а сразу два облака частиц (рис. 10). Включите флажокConstant — частицы вновь станут испускаться эмиттером равномерно.
Рис. 9. Вид частиц в 5-м (сверху) и 100-м кадрах — в обоих случаях четко видна граница максимального распространения частиц
Рис. 10. Вид частиц в 20-м (сверху) и 37-м кадрах
Удалите для параметров DropSize и Speed созданные ранее ключи анимации, увеличьте размер частиц до 4 и проведите рендеринг для одного из промежуточных кадров анимации (рис. 11). Обратите внимание, что все частицы движутся одинаково. Увеличьте разброс значений начальных скоростей и направлений частиц (Variation) до 3 — частицы станут разлетаться не в одном, а сразу в нескольких направлениях (рис. 12). Создайте AVI-файл — примените команду Rendering=>Render, на вкладке CommonParameters активизируйте переключатель ActiveTimeSegment (Активный сегмент времени), укажите имя файла и щелкните на кнопке Render. Просмотрите созданную анимацию в окне встроенного проигрывателя — частицы будут хаотично перемещаться, но количество их окажется невелико. Поэтому увеличьте значение параметра RenderCount примерно до 1000-1500 и вновь проведите визуализацию — поток частиц станет гораздо мощнее (рис. 13).
Рис. 11. Вид сцены при одинаковом движении частиц
Рис. 12. Вид сцены при хаотичном движении частиц и соответствующие ему настройки базовых параметров
Рис. 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
Рис. 15. Огни фейерверка Разноцветное конфеттиА теперь создадим на основе Spray-частиц разноцветное конфетти. Для этого вначале сформируйте систему частиц с большим по размеру эмиттером, указав подходящие значения ширины (Width) и длины (Length) в области Emitter, разместите эмиттер в верхней части окна проекцииPerspective (рис. 16), а затем на панели Modify в области Render включите вариант Facing. Проведите рендеринг — частицы станут квадратными, причем размер квадратов будет напрямую зависеть от значения DropSize (рис. 17).
Рис. 16. Исходная система частиц
Рис. 17. Визуализация в режиме Facing
Как правило, вариант отображения Facing используется не напрямую (когда частицы представлены обычными квадратами), а в сочетании с полупрозрачным материалом, имеющим маску, — тогда можно придать частицам произвольную форму. Поскольку мы создаем конфетти, то нам потребуется маска в виде обычного белого круга на черном фоне, которую можно создать в любом растровом редакторе (рис. 18). Самое простое — создать Blend-материал, который позволяет смешивать два материала, в том числе и с применением маски, и назначить его системе частиц. В таком случае все частицы будут круглые, но окажутся одного цвета. А разные цвета будут получены благодаря использованию материалаMulti/Sub-Object, поэтому будем применять данный тип материала в качестве основного, а Blend-материалы — как подматериалы. Создайте новый материал типа Multi/Sub-Object с тремя подматериалами и в качестве каждого из подматериалов установите материал Blend. Откройте первый материал Blend и верхним для него подматериалом назначьте стандартный полностью прозрачный черный материал, а нижним — цветной с большим значением SpecularLevel, по окончании установите маску (рис. 19). Аналогичным образом настройте другие Blend-материалы, использовав для них отличные от уже задействованного цветовые оттенки — в итоге вы получите такой же материал Multi/Sub-Object, как показан на рис. 20. Возможный вид одного из кадров созданной в результате анимации представлен на рис. 21.
Рис. 18. Черно-белое изображение круга
Рис. 19. Настройка параметров первого Blend-материала
Рис. 20. Настройка параметров материала Multi/Sub-Object
Рис. 21. Разноцветное конфетти |
Loading
|