|
Системы частиц часть 2В предыдущем уроке мы начали знакомиться с системами частиц, которые незаменимы при моделировании струй дождя, брызг фонтана, хлопьев снега, искр огня и других явлений и объектов, а также на конкретных примерах рассмотрели системы частиц Spray, Snow и РАrrау. В этом уроке мы продолжим изучать нюансы внедрения систем частиц в сцены, но остановимся уже на других системах частиц. При этом будем рассматривать частицы не как независимые объекты, а как объекты, подвергающиеся воздействию разнообразных внешних сил (или деформаций): ветра, гравитации, давления, торможения и т.п. Подобные внешние силы нельзя не учитывать, поскольку в действительности любые частицы падают под действием силы тяжести, могут изменять траекторию под действием ветра, взрывной волны и т.д. Теоретические аспектыСистема частиц BlizzardСистема частиц Blizzard (Метель) представляет собой расширенный вариант системы Snow, а потому применяется для создания более сложных эффектов: снежных хлопьев, водяных брызг и т.д. Что касается настроек, то в данной системе предусмотрен весь набор параметров системы Snow, дополненный параметрами системы PArray и уникальным параметром EmitterFitPlanar (свиток ParticleType). Последний позволяет управлять координатами наложения текстурной карты на частицы. Для примера создайте систему частиц типа Blizzard (Метель). Выберите Create=>Geometry=>ParticleSystems, щелкните на кнопке Blizzard и в любом из окон проекций перетащите мышь при нажатой левой кнопке по диагонали. Появится значок эмиттера Blizzard, имеющий обычную прямоугольную форму (рис. 1). Эмиттер может перемещаться и вращаться; его размеры регулируются в группе DisplayIcon свитка BasicParameters— увеличьте размеры эмиттера, указав большие значения ширины (Width) и длины (Length), и переместите эмиттер в верхнюю часть окна проекции (рис. 2).
Рис. 1. Вид проекции Perspective с Blizzard-эмиттером в одном из промежуточных кадров анимации
Рис. 2. Корректировка размеров эмиттера
Управление вращением частиц (данная возможность уникальна для систем Snow и Blizzard) осуществляется через параметры Tumble иTumbleRate группы ParticleMotion свитка ParticleGeneration. Первый параметр (как и для системы Snow) отвечает за регулирование случайного поворота частиц, а второй — за скорость их вращения. Для примера установите значение Tumble равным 1 (это обеспечит максимальное вращение частиц), а TumbleRate равным 5. В этом же свитке настройте параметры EmitStart (Момент появления частиц в сцене), EmitStop (Момент исчезновения частиц в сцене) и DisplayUntil (Окончательное время исчезновения частиц) так, чтобы частицы примерно в одном и том же количестве присутствовали во всех кадрах. Для этого в поле EmitStart нужно установить отрицательное значение, а в полях EmitStop и DisplayUntil — значение 101 (то есть номер первого кадра по окончании анимации, так как общее число кадров анимации равно 100) — рис. 3. Увеличьте размер частиц до 15 (параметр Size в свитке ParticleGeneration) и установите шестиугольную форму частиц при рендеринге (флажок SixPoint в свитке ParticleType).
Рис. 3. Настройка параметров появления, исчезновения и вращения частиц
В заключение обратите внимание на параметры GrowFor и FadeFor, находящиеся в свитке ParticleGeneration. Первый определяет кадровый интервал, внутри которого частицы увеличиваются до определенного им размера, а второй — интервал кадров, внутри которого частицы уменьшаются от установленного размера, постепенно сходя на нет. Оба эти отрезка находятся внутри жизненного интервала Life. По умолчанию параметры GrowFor и FadeFor устанавливаются равными 10 — это означает, что частицы достигают своего максимального размера к 10-му кадру жизни, затем некоторое время их размер остается неизменным, а в течение последних десяти кадров жизни частицы постепенно уменьшаются в размерах. Поэкспериментируйте с настройками данных параметров и понаблюдайте, как меняются размеры частиц: при нулевых значениях параметров размер частиц неизменен на всем протяжении жизни, при положительных значениях частицы вначале растут, а потом уменьшаются (рис. 4).
Рис. 4. Взаимосвязь между параметрами GrowFor и FadeFor и размерами частиц Система частиц Super SprayСистема частиц SuperSpray (Супербрызги) представляет собой расширенный вариант системы Spray, а потому применяется для создания более сложных эффектов: разлетающихся водяных брызг или искр, клубящегося дыма и т.д. Что касается настроек, то в данной системе предусмотрен весь набор параметров системы Spray, дополненный параметрами системы PArray и группой параметров ParticleFormation (свиток BasicParameters), предназначенных для контроля направления и распространения частиц. Для примера создайте систему частиц типа SuperSpray (Супербрызги). Выберите Create=>Geometry=>ParticleSystems, щелкните на кнопкеSuperSpray и в любом из окон проекций переместите мышь в произвольном направлении. Появится значок эмиттера SuperSpray, представляющий собой пересекающиеся плоскость и круг со стрелкой (рис. 5). Направление перемещения частиц задается направлением стрелки (вектора эмиттера). По умолчанию первоначальное направление зависит от того, в каком окне проекций была создана система частиц. Так, при создании системы частиц в ортографических окнах (Front, Top или Left) вектор эмиттера будет направлен горизонтально, а при создании в окне Perspective — вертикально. Вектор эмиттера несложно изменить, повернув последний требуемым образом, — направление испускания частиц изменится, хотя все они по-прежнему будут двигаться по одной прямой (рис. 6).
Рис. 5. Вид проекции Perspective с Super Spray-эмиттером в нулевом кадре анимации
Рис. 6. Вид проекций с Super Spray-частицами в одном из промежуточных кадров после поворота эмиттера
Более широкие возможности управления направлением и характером распространения частиц открываются через параметры ParticleFormation(рис. 7):
Рис. 7. Группа параметров ParticleFormation
Прежде чем переходить к экспериментам с настройками, направьте вектор эмиттера строго вверх (так легче контролировать изменения) и установите параметр EmitStart из свитка ParticleGeneration равным –100, а EmitStop равным 100, расширив тем самым промежуток присутствия частиц в сценах (рис. 8). Откройте свиток BasicParameters и установите параметр OffAxis равным 45 — поток частиц отклонится от вектора эмиттера ровно на 45° (рис. 9). Обнулите параметр OffAxis и увеличьте значение верхнего из параметров Spread до 60 — частицы станут разлетаться в разных направлениях, оставаясь, тем не менее, на плоскости эмиттера (рис. 10). Теперь попробуйте постепенно увеличивать значение нижнего из параметров Spread, доведя в результате его значение до 180 (рис. 11) — частицы при движении будут все больше отклоняться от плоскости эмиттера и в конечном счете станут распространяться уже не на плоскости, а в трехмерном пространстве (рис. 12).
Рис. 8. Корректировка параметров свитка ParticleGeneration
Рис. 9. Отклонение потока частиц от вектора эмиттера
Рис. 10. Расширение зоны распространения частиц в стороны от вектора эмиссии (частицы движутся на плоскости)
Рис. 11. Влияние значения нижнего параметра Spread на распространение частиц в пространстве
Рис. 12. Расширение зоны распространения частиц в стороны от плоскости эмиссии (частицы движутся в 3 D -пространстве) Система частиц PCloudСистема частиц PCloud (Облако частиц) позволяет заполнять частицами некоторые объемные формы (куб, сферу, цилиндр или даже объект произвольной формы) и может применяться, например, для создания стаи птиц, косяка рыб, скопления звезд и т.п. Параметры настройки данной системы включают весь набор параметров системы частиц PArray, который дополнен группами параметров Object-BasedEmitter, ParticleFormation иDisplayIcon (свиток BasicParameters), а также группой ParticleMotion (свиток ParticleGeneration), присутствующими только в системе частиц PCloud(рис. 13).
Рис. 13. Уникальные параметры системы PCloud
Параметры группы ParticleFormation (Характер частиц) предназначены для управления формой эмиттера (BoxEmitter, SphereEmitter,CylinderEmitter и Object-BasedEmitter), а группа параметров Object-BasedEmitter (Объект в качестве эмиттера), доступная только при выборе эмиттера типа Object-BasedEmitter, позволяет указать произвольный объект в качестве эмиттера частиц. Параметры группы DisplayIcon (Внешний вид значка системы) отвечают за регулирование размеров эмиттера в случае, если он имеет кубическую, сферическую или цилиндрическую форму. В группе ParticleMotion (Движение частиц) объединены параметры, регулирующие характер движения частиц: скорость (Speed), разброс значения параметра Speed в процентном соотношении для каждой частицы (Variation) и направление перемещения (RandomDirection — случайное направление, DirectionVector — направление по вектору или ReferenceObject — направление по объекту). Принципиальным отличием данной системы частиц является то, что частицы по умолчанию неподвижны (параметр Speed равен 0), поскольку лишь в таком состоянии они расположены компактно и правильно заполняют отведенный им объем — в случае изменения значения параметраSpeed они сразу же разлетаются. Поэтому довольно часто частицы системы PCloud остаются статичными, а сама PCloud-система применяется для моделирования объектов сцены, состоящих из множества однотипных элементов: листвы деревьев, фрагментов облаков и т.п. Однако статичность самих частиц совсем не исключает их совместного движения (причем с сохранением объема), что достигается назначением им внешних сил (Wind,PathFollow и т.д.), с которыми мы познакомимся чуть позже. Для примера создайте систему частиц типа PCloud (Облако частиц) с большим количеством частиц и цилиндрическим эмиттером, а затем дополните сцену расширенным примитивом Hedra (рис. 14). В свитке ParticleType установите для частиц тип InstancedGeometry, укажите примитивHedra в качестве объекта (кнопка PickObject) и отрегулируйте размер частиц (скорее всего, его придется уменьшать, так как размер примитива окажется слишком большим для частиц). Проведите рендеринг — каждая из частиц унаследует свойства примитива Hedra, а все частицы в целом образуют единый объект, немного напоминающий друзу минерала (рис. 15).
Рис. 14. Система PCloud-частиц
Рис. 15. Облако частиц, созданных на базе объекта-образца Деформации частицВ отношении частиц предусмотрено применение силовых деформаций и деформаций отражения. Силовые деформации, или деформации типаForces (Силы), оказывают силовое воздействие на системы частиц, изменяя их динамику, и позволяют имитировать влияние на частицы природных явлений (гравитация, ветер и др.) или искусственно созданных силовых эффектов (взрыв, направленное давление и др.). Создание силовых деформаций обеспечивает тип объектов Forces (Силы) из категории SpaceWarps (Объемные деформации) — рис. 16, при выборе которого становятся доступными следующие варианты силовых деформаций:
Рис. 16. Объекты типа Forces
Большинство силовых деформаций, за исключением PathFollow, назначается примерно одинаковым способом. Достаточно создать источник деформации, отрегулировать его положение, связать с системой частиц, которая должна находиться под влиянием данного источника деформации, и настроить параметры воздействия в свитке Modify. Для примера создайте систему частиц Blizzard с большим количеством частиц и вектором эмиттера, направленным вправо и вверх (рис. 17). Попробуем назначить данной системе гравитационный источник деформации. Для создания источника откройте свиток типов объектов категорииForces и кликните на кнопке Gravity (Гравитация). В окне Perspective щелкните в той точке, где должен помещаться центр воздействия источника, и перетащите мышь при нажатой левой кнопке по диагонали. Это приведет к появлению прямоугольного значка с нормалью-стрелкой, указывающей направление воздействия источника. При создании источника в окне Perspective нормаль будет направлена вниз, что в данном случае и требуется. При необходимости подкорректируйте положение источника (он должен располагаться под системой частиц) и свяжите его с системой частиц, выделив источник, активировав инструмент BindtoSpaceWarp (рис. 18), нажав левую кнопку мыши на источнике и, не отпуская ее, указав систему частиц. Характер перемещения частиц тут же изменится — теперь, немного отлетев от эмиттера, они станут падать вниз (в то время как ранее продолжали свое движение в направлении вектора эмиттера, чего в действительности быть не может) — рис. 19.
Рис. 17. Исходная система Blizzard-частиц
Рис. 18. Выбор инструмента BindtoSpaceWarp
Рис. 19. Перемещение частиц после назначения им гравитационной деформации
После этого можно отрегулировать характер воздействия источника деформации, например при гравитационной деформации предусмотрено изменение силы гравитации (Strength) и степени уменьшения силы воздействия по мере удаления от источника (Decay) — рис. 20, а также определение формы фронта поля силы тяжести. Поле фронта может быть либо плоским (Planar), либо сферическим (Spherical). При плоском фронте воздействие производится только в направлении нормали источника, а при сферическом распределяется радиально (рис. 21).
Рис. 20. Зависимость характера перемещения частиц от параметра Decay
Рис. 21. Перемещение частиц под воздействием планарной (вверху) и сферической гравитации
Удалите созданный источник гравитации, выделив его и нажав клавишу Del, — частицы вновь станут перемещаться без учета силы тяжести. Попробуем теперь заставить их двигаться по некоторой траектории, что реализуется путем деформации PathFollow (Движение по траектории). Создайте произвольную односплайновую кривую (это будет траектория движения) и источник деформации PathFollow (рис. 22). Выделите источник деформации, на панели Modify в свитке BasicParameters щелкните на кнопке PickShapeObject (Указать объект-форму) и укажите построенную кривую. Свяжите источник деформации с источником частиц с помощью инструмента BindtoSpaceWarps — частицы начнут перемещаться по заданной траектории (рис. 23).
Рис. 22. Появление кривой и источника деформации PathFollow
Рис. 23. Перемещение частиц по траектории
Помимо силовых деформаций частицы могут подвергаться воздействию деформаций отражения, к которым относятся Deflectors (Отражатели), использующиеся для отражения потока частиц от преград, что приводит к изменению направления движения частиц. Отражатели позволяют устанавливать на пути движения частиц разнообразные преграды и регулировать поведение частиц при столкновении с ними: частицы могут отскакивать от преграды (например, капли дождя) либо стекать по ней (дождевые струи) и т.д. За создание отражателей отвечает тип объектовDeflectors (Отражатели) из категории SpaceWarps (Объемные деформации) — рис. 24, обеспечивающий создание плоскостных отражателейDeflector, POmniFlect и PDynaFlect, сферических отражателей SDeflector, SOmniFlect и SDynaFlect и универсальных отражателей UDeflector,UOmniFlect и UDynaFlect. Универсальные отражатели, в отличие от плоскостных и сферических, позволяют отражать частицы не только от плоскости или от сферы, но и от любого другого объекта произвольной формы, который может быть использован в качестве отражателя частиц. Самые простые из названных дефлекторов — Deflector, SDeflector и UDeflector, набор настроек для которых невелик. Остальные дефлекторы имеют расширенный набор настроек, при этом PDynaFlect, SDynaFlect и UDynaFlect предназначены для управления частицами с учетом их физических характеристик (масса и т.п.), а POmniFlect, SOmniFlect и UOmniFlect — с учетом преломления и отражения.
Рис. 24. Объекты типа Deflectors
Чтобы понять, как работают отражатели, удалите сформированный ранее источник деформации PathFollow, откройте свиток типов объектов категории Deflectors и кликните на кнопке Deflector. Создайте в окне проекции Perspective значок отражателя, отрегулируйте его размеры и положение (рис. 25), а затем свяжите источник деформации с источником частиц — если ранее частицы спокойно проходили сквозь плоскость отражателя, то после связывания они будут от него отскакивать (рис. 26).
Рис. 25. Появление в сцене отражателя
Рис. 26. Результат связывания отражателя с системой частиц |
Loading
|