Создание простого эффекта частиц

Материал из CryWiki Russia

Перейти к: навигация, поиск

Содержание

Создание простого эффекта частиц

Particle1 image001.jpg

Описание

В этом руководстве вы узнаете основные функции системы частиц, и, более того, создадите эффект огня.

В рамках подготовки к руководству, запустите редактор Sandbox 2 и откройте любой уровень.

Подготовка новой библиотеки частиц

Что такое «библиотека частиц»?

Большинство данных в CryENGINE 2 обрабатываются и хранятся в библиотеках. Библиотеки эффектов частиц хранятся в папке с игрой, в Game/Libs/Particles.

Чтобы создать эффект частиц, нужно подготовить новую библиотеку частиц.

Заходим в базу данных

Откройте Database View из подменю Open View Pane в меню View.

Particle1 image003.png

Появится окно базы данных.

Particle1 image005.png

Перед созданием частиц необходимо выбрать библиотеку, в которую они будут сохранятся. Самый лучший способ, это создать нашу собственную библиотеку.

Добавление новой библиотеки

В Database View, во вкладках в верхней части окна, вы увидите вкладку Particles. Там отображаются все открытые библиотеки частиц.

Particle1 image007.png

Должна быть открыта стандартная библиотека, которая называется Level. Вы можете создать столько библиотек частиц, сколько вы хотите. Каждые библиотеки будут сохранятся в отдельный файл в папке с игрой.

Выберите вкладку Particles и нажмите кнопку Add Library, чтобы создать новую библиотеку.

Particle1 image009.png

В окне New Library Name, введите название вашей библиотеки, в данном примере мы назвали её «MyTutorials», как показано ниже.

Particle1 image011.png

Добавление нового эффекта частиц в вашу библиотеку

Щелкните кнопку Add New Item, чтобы добавить новый эффект частиц. Каждый эффект организован группами. Так как у вас ещё нет групп, то вы должны создать новую группу.

Particle1 image013.png

В окне New Particle Name, в качестве Group укажите «MyFire», а в качестве названия частицы «Fire1»;

Particle1 image015.png

Новая частица появится в списке частиц. Теперь, вы можете приступать к работе над ним.

Particle1 image017.png

Выберите File/Save, чтобы сохранить свой прогресс.

Particle1 image019.png

Подготовка эффекта частиц

Вам нужно будет подготовить свои текстуры, прежде чем начинать делать новые эффекты. Однако, в этом руководстве будут использоваться заранее подготовленные текстур и сфокусируемся на различных типах текстур.

Стандартное местоположение для сохранения текстур к частицам — это папка Game/Textures/Sprites.

Настройка спрайтовой текстуры

Убедитесь, что выбрана частица Fire1.

Particle1 image021.png

В вкладке Appearance (расположенная ниже и правей от списка частиц), щелкните иконку папке в поле ввода «Texture».

Particle1 image023.png

Теперь, в папке Game/Textures/Sprites выберите текстуру fire_ball6.dds. В поле ввода Texture появится путь к текстуре. Вы можете проверить текстуры, наведя курсор мыши на поле ввода.

Чтобы выровнять направление движения спрайта, поставьте галочку Orient To Velocity.

Particle1 image025.png

Следующим шагом идет время жизни частицы. Чтобы создать продолжающийся огонь, щелкните по галочку Continuous в разделе Emitter свойств частицы.

Particle1 image027.png

Чтобы каждая частица повышала настройки, задайте Particle Life Time равное 3, и чтобы в любое время появлялась более, чем одна частица, задайте Count (видимость частиц в одно и тоже время) равное 10.

Particle1 image029.png

Оставьте другие настройки стандартными (Emitter Life Time 0, Spawn Delay 0, Pulse Period 0).

Выберите в панели Movement параметр Speed и задайте его значение равным 3, чтобы ускорить частицу.

Particle1 image031.png

Размещение эффекта частиц на уровне

Чтобы разместить ваш эффект на уровне, то вам нужно перетащить эффект из списка частиц на уровень. Но, прежде чем это сделать, включите инструмент Select and Move на панели инструментов редактора, а также включите Follow Terrain and Snap to Objects, чтобы облегчить размещение.

Particle1 image033.png

Теперь, перетащите эффект частиц «Fire1» на уровень.

Particle1 image035.png

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

Примечание:
Вы можете использовать кнопку Goto Selected Object чтобы выровнять позицию камеру, чтобы оказаться перед эммитером.

Particle1 image037.png

Сохраните сцену еще раз, прежде чем перейти к следующему шагу.

Создание более реалистичного вида

Чтобы получить более «огнеподобный» вид, вам необходимо настроить несколько параметров частицы.

Вид зависит от:

  • Условия возрождения
  • Внешний вид
  • Движения

Тонкая настройка возрождения спрайтов

Перейдите в панель Emitter слева вверху списка параметров. Если в Emitter Life Time указать 0, частицы будут возрождаться бесконечно, пока эммитер не будет отключён или удалён.

Задайте Particle Life Time равное 1. Ваша частица должна изменить свой внешний вид, как показано ниже.

Particle1 image039.png

Параметр «Count» управляет, как долго будет жива частица в сцене. Если его значение 10, и возрождается частица 11, то частица под номером 1 исчезнет.

«Particle Life Time» управляет временем жизни каждой частицы. Если его значение 3, то частицы «умирают» через 3 секунды после возрождения.

Добавление случайности

До сих пор, все частицы возрождались именно таким образом, — это выглядит неестественно. Чтобы добавить случайности нажмите на маленькую кнопку + перед параметром Particle Life Time, чтобы открыть его дополнительные параметры.

Particle1 image041.png

Задайте Var Random равным 0.4.

Ваша частица начнёт сейчас выглядит немного неотрегулированной. Параметр «Var Random» существует практически у всех параметров. Случайность измеряется от 0 до 1.

Если в «Particle Life Time» задать 10 (секунд), а в «Var Random» задать значение 1, то время жизни частицы будет рандомизировано от 0 до 20 секунд (+/- 100).

For now though, keep the settings as shown.

Не забывайте сохранять уровень время от времени.

Вкладка «Lighting»

Перейдите в панель Lighting и добавьте следующие настройки:

Задайте Diffuse Lighting равное 0.
Задайте Diffuse Backlighting равное 0.
Задайте Emissive Lighting равное 3.
Задайте Emissive HDR Dynamic равное 3.

Ваш частица начнёт светиться, как показано на рисунке:

Particle1 image043.png

«Diffuse Lighting» — основной параметр света для спрайтов. Он управляет, как на спрайт будут влиять любое динамическое или обычное освещение на уровне. Как правило, вы должны установить любые соответствующие значения для него (например, 0,7). Но в данном случае для огня, который не может быть фактически освещён, вы должны установить значение 0. «Diffuse Backlighting» — простой параметр, для добавления яркости частице (в большинстве 3D-программ часто называют «Ambient» (Окружающий свет) или «Incandescence» (Накаливание)). При увеличении этого значения, вы можете сделать более прозрачный внешний вид. Напротив, при уменьшении этого значения, необходимо создать более массивный вид частицы.

«Emissive Lighting» и «Emissive HDR Dynamic» отличаются от других параметров освещения. Они управляют эмиссивностью света у эффекта, например, света, который создается частицей. Как правило, эти параметры используются, если частица является самоизлучающей (как например, огонь, искры, взрывы). «Emissive HDR Dynamic» работает только если включен HDR, например, если настройка графики выбрана высокой или максимальной.

Тонкая настройка кривой альфа

Теперь, измените продолжительность жизни кривой, чтобы добавить природный прозрачный вид. Откройте дополнительные параметры параметра Alpha в панели Lighting. «Alpha» управляет прозрачностью частицы. Дважды щелкните по зелёной линии Var Particle Life, чтобы создать ключевую точку (красную точку) на линии, как показано ниже.

Particle1 image045.png

Дважды щелкните в левом верхнем крае зелёной линии, чтобы создать вторую точку и перетащите его вниз графа.

Particle1 image047.png

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

Particle1 image049.png

Кривая «Var Particle Life» управляет значением альфы независимо от альфа-текстуры спрайта. Длина представляет альфа-значение, поперечное времени жизни частицы.

В данном случае, частицы будут появляться с альфа-значением 0 (невидимым), потом увеличится его время жизни до 100, и потом снова исчезнет в конце его жизни.

Примечание:
Вы можете добавить или удалить ключи дважды щелкнув по ним, и перемещать в обоих направлениях.

Тонкая настройка параметров масштаба и растягивания

Перейдите в панель Size и задайте значение Size равное 1.3, затем откройте дополнительные параметры и задайте значение Var Random равное 0.4.

Настройте кривую Var Particle Life как на графе ниже.

Particle1 image051.png

Далее, добавьте небольшой эффект растягивания спрайте. Задайте у Stretch значение 0.2, настройте кривую Var Particle Life у Stretch, как показано ниже.

Particle1 image053.png

«Stretch» растянет ваш спрайт. Стандартное значение 0 означает, спрайт не растягивается совсем, например, имеет совершенно квадратную форму. В данном случае, частицы растягивается до 0ю2 в начале своей жизни и возвращается к совершенно квадратной форме в конце.

Теперь, ваша частица выглядит уже более настоящим огнём, но с некоторыми другими настройками вы сможете сделать его ещё реалистичней.

Тонкая настройка движения и сопротивления воздуха

Движение частиц также очень важно, для добавления реалистичности эффекту. В этом разделе вы сможете настроить параметры движения частицы.

Перейдите в вкладку «Movement» и задайте у Speed значение 3, а у Var Random значение 0.4. Вы найдете «Var Random» за маленькой кнопки «+». «Speed» управляет скоростью частицы. Он управляет скоростью по направлению к «Emit Angle», который вы настроите позже.

Particle1 image055.png

Примечание:
Помните, что добавление значения случайности является эффективным, для получения более реалистичный эффекта.

«Air Resistance» имитирует плотность воздуха или любую среду, в которой находится частица. В плотной среде, такой как вода, энергия движения расходуется быстрее, потому что вода имеет более высокое сопротивление, как и воздух. В космосе, напротив, частицы никогда не теряют свою скорость.

Задайте у Air Resistance значение 0.2, а у Var Random значение 0.4.

Particle1 image057.png

Примечание:
На частицы с сопротивлением воздуха влияют окружающие факторы уровня, такие как ветер, турбулентность, или глобальный ветер. Таким образом, если вы установите слишком высокие значения сопротивления воздуха, то ваши частицы будут так затронуты силой ветра, что вы не увидите частицы. Чтобы избежать этого, вы можете попробовать низких значения (например, 0).

Тонкая настройка вкладки «Angles»

Перейдите в панель Angles.

Задайте у Emit Angle значение 20, а у Var Random значение 1.

Particle1 image059.png

Стандартное направление частицы идёт в точности вдоль оси Z от эммитера. Изменения, сделанные выше, означают, что частица излучается на 20 градусный угол вдоль оси Z, и получает случайное направление в пределах от -20 до 20 градусов. Если вы не установите значение Random, отличное от 0, то частицы всегда будут получать точный градус направления по оси Z, следовательно, все формы эффекта будут выглядеть как перевёрнутый зонтик.

Настройте Random Angles и Random Rotation Rate, как показано ниже:

Particle1 image061.png

Эти параметры управляют вращением каждого спрайта. Левая колонка относится к оси X, центральная колонка к Y, а правая колонка к Z.

В данном случае, при возрождении у частицы значение вращения 180 градусов по оси Z, и не более 30 градусов случайного вращения по оси Z, пока они живы.

Для спрайтовых частиц, таких как огонь, оси X и Y ни на что не влияют, потому что спрайты являются двухмерными объектами — у них нет осей X и Y. Система частиц также поддерживает импортирование трёхмерных объектов, которые могут быть использованы в качестве частиц, где поддерживаются все 3 оси.

Мягкие частицы

Когда вы подойдёте к эффекту и проверите области, где частица пересекается с поверхностью ландшафта, вы уведите выразительный край в нижней части спрайта.

Particle1 image063.png

Чтобы убрать этот край, перейдите в панель Appearance и включиие Soft Particle.

Particle1 image065.png

Теперь, край исчезнет и огонь станет выглядить еще более реалистично, чем раньше.

Particle1 image067.png

На этом заканчивается первое руководство о частицах. Теперь вы знаете, как создавать простые двухмерные частицы и настраивать его основные параметры.

Продолжайте изучение частиц со второго руководства, чтобы узнать о том, как добавить детали эффекту частиц.

См. также