Руководство по работе c Particle FX

Содержание:
Данный раздел познакомит Вас с пошаговым процессом создания эффекта на основе частиц. В том случае если вы уже знакомы с подобным процессом создания и Вам нужна другая более узкоспециализированная информация вы можете пропустить данный раздел. Описание процесса создания своих собственных графических элементов, и добавление их в редактор вы можете, найти в нижеследующих раздела данного руководства. Все исходные графические элементы, использованные в данном руководстве, и конечный вариант полученного эффекта вы можете найти в прилагаемых файлах-примерах. Ну что ж давайте приступим непосредственно к рассмотрению процесса создания эффекта.

Создание эффекта огня

Запустите Particle FX и создайте новый проект эффекта нажав на кнопу New. Появиться окно нового документа
Для того что бы представляли масштаб создаваемого эффекта в режиме предварительного просмотра у Вас должен быть какой либо задний фон. Для того что бы загрузить его нажмите на кнопку <none> расположенную рядом с пунктом “KF Scene”, и зайдите в директорию Examples \ Backgrounds. В данной директории выберете файл grid.txt и нажмите OK. Тем самым вы добавите в сцену предварительного просмотра эффекта прозрачную координатную сетку с шагом в 1 метр.
Теперь Вы должны создать новую частицу. Для этого выберете “Particle” из выпадающего списка расположенного в разделе “Element and Emitter properties” затем нажмите кнопку New в нижнем левом углу главного окна. Редактор создаст новую частицу и автоматически откроет окно с её свойствами.
По умолчанию новая частица называется “Unnamed Particle”. Измените ее текущее имя на “Flames”.
Теперь вашей частице нужна графическая основа. Нажмите кнопку Import расположенную в разделе “Particle Bitmaps” окна свойств частицы. Откроется браузер файлов. Зайдите в директорию “Bitmaps” которая расположена в корневой директории установленного редактора Particle FX и откройте файл bitmaps.txt.
Конфигурационный файл bitmaps.txt объединяет в себе несколько графических элементов, образуя группы графических элементов. После выбора нужного файла появляется меню в котором вы может выбрать нужную группу. Выберите reelflames_additive one и нажмите OK. Группа “Reel Flames” представляет собой комплект из изображений реалистичного огня расположенных в определенной последовательности. There are 6 sequences in total, each consisting of a different number of bitmaps. (В случае если графическая основа эффекта содержит несколько различных “контейнеров”, Particle FX aавтоматически случайно распределяет их между друг другом. Это добавляет частицам хоть какое-то разнообразие. Ведь эффект будет выглядеть искусственным в случае если все частицы будут выглядеть одинаково.
Хорошо у частицы есть графическая основа, теперь вы можете произвести предварительный просмотр эффекта.so . Если Вы сможете сдержать свое любопытство на некоторое время, то Вы можете пропустить данный шаг. В случае если Вы больше не можете ждать и хотите посмотреть как выглядит эффект на данной стадии разработки, выберите Emitter в разделе Element and Emitter properties tглавного окна проекта и нажмите кнопку New для создания нового Эмиттера частиц (Particle Emitter). После этого перейдите в раздел Emission Control, и нажмите кнопку New для создания новой эмиссии, выберите “Flames” и эмиттер, который вы только что создали (“Unnamed Particle Emitter”) из всплывающего окна и нажмите OK. Нажмите F2 для того что бы запустить предварительный просмотр эффекта. Вы видите огненный фонтан, состоящий из шариков, которые непроизвольно выплевывает эмиттер, Вы не видите пламя? Конечно, нет. Что бы оно появилось необходимо его еще настроить. Закройте окно предварительного просмотра, нажав клавишу F4.
Такой результат вы можете увидеть при использовании изображений огня со стандартными параметрами
Теперь вы должны изменить некоторые параметры эффекта. Вернитесь к элементу Particles в разделе Element and Emitter properties, и дважды кликните по частице Flames, что бы открыть ее. Следующее что нам необходимо сделать:
-Измените тип анимации (Animation type) на Lifetime. Графическая основа огня состоит из последовательных изображений, в которых исчезают несколько различных языков пламени, таким образом, они не зацикливаются.
-Не обращайте внимания на параметры animation FPS (частоты смены кадров анимации) и на random 1st frame (случайный 1 кадр анимации), так как они используются только при зацикленном графическом содержании.
-Установите параметр Particle Random Rotation в пределах от –180 градусов до 180 градусов. Это позволит вращаться частицам на 360 градусов и придаст эффекту пламени большее разнообразие. Так же поставьте галочку напротив параметра Randomize rotation direction.
-Поставьте галочку, напортив параметра Random mirroring X and Y. Теперь частицы будут отражаться по обеим осям в случайном порядке, что придаст эффекту большее разнообразие.
-Наше пламя имеет тенденцию бесконтрольно двигаться вверх. Измените параметр Gravity multiplier на –2.5. Использование отрицательной гравитации вместо направленной эмиссии, в данном случае будет наиболее целесообразно.negative gravity instead of directed emission. Это позволит гарантированно свести к минимуму бесконтрольное движение пламени вверх относительно эмиттера.
-Установите параметр (El. Velocity) в режим Cubic. Это увеличит сопротивление воздуха в момент повышения скорости, что в свою очередь предотвратит слишком быстрый подъем огня.
-Установите параметр (El. Size) в режим Linear. (Данное соотношение размер – сопротивление воздуха, сделает эффект меньше)
-Установите Air Resistance Constant равный 4. Пламя должно иметь правдоподобную аэродинамику.
Попробуйте просмотреть полученный эффект, и Вы увидите огненный столб поднимающийся вверх. Выглядит лучше, но все, же не так как надо. Пора произвести отдельную настройку частиц, до того как они будут эмитированы. Нажмите на кнопку Size Graph, и отредактируйте его как указанно на расположенном ниже рисунке.
Так как данный график не особо точный, установите частоту дискретизации на 8. Кривая графика указывает на то, что частицы в эффекте стартуют с нулевого размера, затем их размер повышается до полного (1единица) и к концу цикла постепенно становится меньше.
Откройте график Rotation Graph, и отредактируйте его как указанно на расположенном ниже рисунке.
Данный график задает вращение частиц с постоянной скоростью на протяжении всего цикла, в пределе от –187 градусов до 0 градусов. Галочка, напортив параметра “Randomize Rotation Direction” позволит беспорядочно переворачивать график для разных частиц, для достижения большего разнообразия (график Rotation Multiplier так же влияет на вращение частиц, но в него мы зайдем позже). Поскольку график содержит только прямые линии, вы можете, изменит частоту выборки графика, и сделать ее равной 2 единицам.
Далее откройте график Vertex Alpha Graph и отредактируйте его как указанно на расположенном ниже рисунке.
Так как последовательная анимация пламени содержит мало кадров, это поможет сгладить конечные кадры когда пламя начнет затухать.
Теперь, откройте график RGB Color Graph и отредактируйте его как указанно на расположенном ниже рисунке.
Если хотите можете представить себе как он действует. Цвет пламени постепенно, по мере угасания, будет переходить в красный.
Отлично! Вы создали работающие частицы огня. Если сейчас, включить предварительный просмотр эффекта, вы увидите подобие огненного столба, с малоподвижными языками пламени.
Как видите частицы нужный эффект не образуют. Более точной настройки требует эмиттер (Emitter), так как во многом именно от него зависит как поведут себя частицы.

Настройка эмиттера

Ну что ж давайте приступим к настройке эмиттера (Emitter) который мы создали. Выберете Emitter в разделе the Element and Emitter properties и дважды кликните на “Unnamed Particle Emitter”, тем самым вы откроете окно настроек эмиттера.
Для начала эмиттеру требуется более подходящее название. Изменим его на что-нибудь, типа “Flaming”.
После того как пламя поднимается верх само по себе, направление эмиссии не требуетсяonся. Оставьте график Direction graph без изменений (за исключением понижения частоты выборки графика до 2 единиц).
Точно так же поступите с графиком Emission Random Velocity graph, оставьте все как есть. По умолчанию пламя имеет очень маленький разброс по скорости, но это не значительно. Понизьте частоту выборки графика до 2 единиц.
Теперь давайте перейдем в раздел Emitter Shape. Вероятно, пламя будет смотреться лучше, если оно будет эмитироваться из плоскости. Измените форму эмиттера на Square.
Установите минимальные и максимальные значения для X равными –0.15 и 0.15 метра соответственно. Значения для Y оставьте равными. Установите минимальные и максимальные значения для Z равными –0.15 и 0.15 метра соответственно. Это создаст площадку 30 х 30 сантиметров, на которой в последствии будут генерироваться все частицы эффекта. Начало эффекта будет в центре этой площадки
Эффект пламени над которым, мы работаем постоянный, и The flame effect we’re working on is constant, and meant to loop indefinitely. Установите продолжительность цикла равной 20 секундам и отредактируйте график Emission Rate graph таким образом, что бы верхняя кривая была равна примерно 80 единицам, а нижняя 10. Простейший способ сделать это, поднять графики вверх и опустить вниз с помощью правой кнопки мышки. Какая кривая нижняя, а какая верхняя не имеет значения. Поскольку графики используют только для постоянных величин времени (ie.горизонтальные линии), установите частоту выборки графика на 2. Теперь эффект будет работать 20 секунд с момента старта и эмитировать от 10 до 80 частиц в единицу времени. Поставьте галочку напротив параметра Cycle Looping. Эффект можно сделать зацикленным с помощью включения данного параметра, так же посредством скрипта в игре (информацию по этому вопросу смотрите в документации к редактору).
Измените, график Element Lifetime Graph таким образом, что бы верхняя линия находилась примерно на 1, а нижняя на значении 0.3.Снова измените частоту выборки графика на 2. В результате продолжительность существования эмитируемых частиц будет варьироваться между 0.3 и 1 секундами в течении 20 секундного цикла..
Отредактируйте Size Multiplier Graph таким образом, что бы верхняя линия была примерно на отметке 0.9, а нижняя примерно на 0.4. Размер частиц в эффекте будет варьировать от 0.4 до0.9 единиц в течении всего цикла эмиссии.
В соответствии с предыдущими графиками, отредактируйте Rotation Multiplier Graph до 0.2 и 0.6 единиц соответственно. В таком случае некоторые языки пламени будут вращаться меньше, некоторые больше. Множитель вращения равный 1 не окажет никакого влияния на график вращения; значения больше чем 1 увеличат вращение, а положительные величины меньше 1 уменьшат его.
Теперь посмотрим на полученный результат. Выглядит намного лучше, неправда ли?
Фактически представленный файл пример рассчитан на комбинацию из двух эффектов огня. Первый эмиттер был скопирован с помощью кнопки Clone и немного отредактирован. Первый эмиттер извергает маленькие языки пламени с небольшим временем жизни, а второй напротив – одно большое пламя с большой продолжительностью жизни. Это предотвратит ситуацию когда маленькие языки пламени поднимаются слишком высоко, а она появляется в том случае если вы пытаетесь заставить эмитироваться все частицы огня из одного эмиттера с малым разбросом размера.
Вы могли заметить, что пример эффекта огня из состава, так же содержит восходящий столб дыма. Как использовать его, попробуем воссоздать дым из имеющихся элементов. Вот некоторые рекомендации:
-Изображение дыма из примера очень светлое, по этому используйте Color Graph что бы сделать его темней.
-Дым выцветает практически полностью. Наклоните вниз кривую графика Vertex Alpha Graph. Ввиду того что изображение дыма полностью непрозрачное, вы можете начать кривую прозрачности с изначально низкого значения и опустить его ещё ниже.
-Облако дыма поднимается вверх медленней, чем пламя. Используйте отрицательные значения множителя гравитации.
-Облако дыма имеет тенденцию жить больше чем само пламя. Значение Random Element Lifetime от 2 до 5 секунд должно подойти. Поскольку время существования у него больше, они должны rate to предотвратить чрезмерную густоту дыма.
Еще один интересный вариант использования заготовки эффекта огня, это превращение обычного пламени в подобие шарообразного взрыва. Для начала измените, длительность цикла, так что бы он стал равен 10 секундам, затем возьмите графики Emission Rate, Size и Lifetime и повысьте их разрешение, после чего сделайте, так что бы эмиссия частиц в эффекте была очень сильно, а эмитируемые частицы имели высокую продолжительность существования, и резко понизьте все значения. В результате этого, в начале эффекта мы получим мощный взрыв, после которого появится огонь, который будет гореть до самого конца эффекта. Ниже показано как именно надо изменить, эти три графика.


Содержание