Bender Bending

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

Руководство по работе c Particle FX
» Раздел: Max Payne II: Картостроение

Что такое Particle FX?

Particle FX представляет собой мощный редактор эффектов на основе частиц, который был использован разработчиками из Remedy Entertainment при разработке спецэффектов для игр Max Payne и Max Payne 2: The Fall of Max Payne. Все что вы видели в этих играх, огонь, дым, взрывы, пламя которое так красиво вырывается из стволов оружия при стрельбе, снег, дождь, все это было создано именно в этом редакторе. Редактор Particle FX при должном умении позволяет создавать эффекты как природного, так и техногенного происхождения поистине высочайшего качества…
Основной идеей данного редактора является использование отдельной трехмерной среды в которой создаваемый эффект можно не только редактировать, но и визуализировать на любой стадии разработки, что позволяет оценить полученный результат прямо в редакторе без каких-либо промежуточных действий, таких как экспорт эффекта непосредственно в игру
Цель данной документации заключается в ознакомлении пользователя с основами работы в редакторе Particle FX. Представленное пошаговое руководство по созданию эффекта познакомит вас с основными доступными настройками и параметрами редактора.

Редактирование эффектов

Рассмотрим принцип работы эффектов создаваемых в Particle FX. Эффект на основе частиц состоит из двух основных элементов собственно самих частиц и эмиттера (эмиттеров). Работает это достаточно просто частицы это основная часть эффекта, в различных сочетаниях частицы образуют нужный графический эффект. Но эмиттер, в свою очередь не менее важен, так как именно из него выбрасываются частицы. Процесс извержения частиц из эмиттера называется процессом эмиссии. В зависимости от тех настроек, которые мы задаем процессу эмиссии, мы определяем какой эмиттер какие частицы генерирует. Данный процесс вы прекрасно можете рассмотреть в прилагающихся к редактору эффектах-примерах.
Предварительный просмотр эффекта:
Занимаясь редактированием эффекта, вы в любой момент, можете посмотреть на полученный результат, нажав клавишу F2 или кликнув на иконку Run Preview расположенную на панели инструментов. В режиме предварительного просмотра эффекта вы можете выполнять следующие действия:
-Нажать кнопку F2 что бы запустить воспроизведение эффекта сначала.
-Нажать кнопку F3 для остановки/продолжения визуализации эффекта.
-Используйте стрелки на клавиатуре что бы перемещать камеру вокруг эффекта, так же можно использовать клавиши Page Up и Page Down для отдаления и приближения камеры к эффекту.
-Зажав Ctrl во время вращения или масштабирования, вы ускоряете скорость перемещения камеры.
-Зажав Shift во время вращения или масштабирования, вы замедляете скорость перемещения камеры.
Находясь в режиме предварительного просмотра эффектов вы наверное заметили расположенные в уголках окна цифровые индикаторы, я думаю, стоит рассказать о них подробнее.
-FPS Данный датчик отображает частоту кадров изображения в сцене. С помощью этого датчика вы можете, отслеживать насколько сильно визуализация вашего эффекта нагружает центральный процессор.
-Particles Данный датчик отображает сколько в настоящее время частиц задействовано в вашем эффекте. Если индикатор становится красным, это значит что, количество частиц в эффекте превышает допустимую норму.
-Max Данный датчик отображает общее количество частиц задействованных в эффекте. Если индикатор становится красным, это значит, что общее количество частиц в эффекте превышает допустимую норму.
-Radius Данный датчик отображает максимальный разброс частиц в метрах относительно центра сцены.
После того как вы закончили просматривать эффект нажмите клавишу F4 для выхода из режима предварительного просмотра. Обратите внимание на то, что все изменения, которые вы производите с эффектом, пока открыто окно предварительного просмотра не вступят в силу. Что бы изменения вступили в силу, вы должны выйти из режима предварительного просмотра и зайти в него снова.
Редактирование графиков:
Как вы могли заметить, при нажатии большинства кнопок появляются окна содержащие графики, которые можно изменять простым щелчком мыши. Большинство этих графиков содержит различные настройки частиц и собственно самого эффекта. Преимущество графиков перед обычными постоянными величинами заключается в том что в графике вы можете плавно изменять нужные величины в течении всего времени. Графики легко можно редактировать путем перемещения и добавления узлов, точек соединяющих линии.
Если быть точнее, то на самом деле графики не задают конечные величины для создаваемого эффекта. График представляет дискретные (выборочные) величины. а движок программы конвертирует их в допустимо приведенные величины. Тонкая линия, идущая на протяжении всего графика, представляет конечный результат дискретизации. Изменить частоту дискретизации графика можно при помощи клавиш / и * находящихся на цифровой панели клавиатуры. Текущая частота дискретизации графика (sr) отображается в правом верхнем углу окна. Вы можете, попробовать изменит значение дискретизации графика, и посмотреть на эффект. Оптимизация эффекта заключается в том, что бы частота дискретизации была минимально возможной. Если вы будите использовать график, в котором кривые будут использованы для отображения постоянной или линейно изменяющейся величины то, в данном случае частота дискретизации равная 2 единицам буде вполне уместна. В случае если вы работаете с графиком, кривые которого имеют очень плавные переходы, то вам придется повысить частоту дискретизации.
Некоторые графики которые отвечают за свойства эмиттера содержат две кривые вместо одной. Эта особенность графика позволяет конечной величине варьировать между двумя заданными значениями, в течении всего времени пока происходит выброс частиц из эмиттера. Использование двух кривых в одном графике в данном случае способствует разнообразию конечных величин. В тех местах где кривые графика перекрывают друг друга полностью или частично, разброс по величинам отсутствует.
В заключении частицы эффекта раскрашиваются, а эмиттеру задается определенное освещение. График который отвечает за цветность содержит в себе три кривые каждая из которых означает определенный основной цвет – красный, синий, зеленый.
Любое из окон, в котором происходит редактирование графика, может масштабироваться по вашему усмотрению. После того как окно будет закрыто, все изменения произошедшие в нем будут автоматически сохранены.
Редактируя графики, вы можете выполнять следующие действия:
Масштабировать изображение графика, используя клавиши + и – находящиеся на цифровой клавиатуре или нажав на кнопку Zoom In и Zoom Out находящихся на панели инструментов.
Восстановить разрешение координатной сетки графика, используя сочетание клавиш Ctrl+G или нажав на кнопку Grid Resolution
Добавлять в график новые узловые точки. Добавление точки производится путем двойного нажатия левой кнопки мыши непосредственно на самой кривой графика в том месте где вы хотите расположить новый узел. Произвести удаление точки, можно выделив ее щелчком левой кнопки мыши и нажав Del.
Для перемещения узловой точки, щелкните по ней левой кнопкой мыши и не отпуская перетащите на нужное место. Если во время перетаскивания точек вы зажмете клавишу Shift, то вы перетащите все точки графика относительно их изначального местоположения. Данный прием применим только в случае со сложными графиками содержащими несколько кривых. Если во время перетаскивания точек вы зажмете клавишу Ctrl, то вы сможете переместить точки относительно вертикальной оси графика.
Если зажав, вы попробуете перетащить узловую точку при помощи правой кнопки мыши, то вы сдвинете весь график вверх или вниз.
Для того что бы задать узловой точке или точкам графика точные цифровые значения выберите её левой кнопкой мыши и нажмите клавишу N. В случае если вы работаете с графиком, отвечающим за цветность то при нажатии на кнопку C появится встроенная в Windows палитра, в которой вы сможете задать необходимый цвет
Для того что бы масштабировать сразу весь график по вертикали, зажмите клавишу Ctrl и выбрав узловую точку перетащите её.

Обзор используемых параметров

Main screen (Главное меню)
Emission Control (Контроль эмиссии)
Даже когда Вы создадите Частицу и Эмиттер, ничего не произойдет, пока Вы не создадите Эмиссию. Эмиссия определяет какие частицы эмитируются тем или иным эмиттером. Для того что бы создать новую Эмиссию, нажмите на кнопку New, затем в диалоговом окне выберите соответствующую частицу и эмиттер. Эмиссию в случае необходимости можно удалить с помощью кнопки Delete, или запретить с помощью кнопки Disable. Когда эффект экспортируется в игровой формат функция запрета не учитывается.
Max # of particles (Максимальное количество частиц)
Данный параметр указывает максимальное число активных частиц используемых системой частиц. От значения данного параметра напрямую зависит количество отведенной для эффекта памяти. В случае если величина данного параметра равна 500 частиц, а в эффекте используется только 20 рекомендуется изменить величину параметра до 20 частиц, что позволит избежать, нецелесообразное использование памяти (как следствие ее переполнение). Вообще при создании эффектов следует использовать, настолько мало частиц, насколько возможно – это позволит сэкономить ресурсы процессора. Более подробную информацию по этой теме вы можете найти в разделе «Оптимизация эффектов на основе частиц».
Particles emitted info (Тип эмиссии частиц)
Worldspace (Пространство сцены)
При данном значении параметра, частицы эмитируются в мир, с пространственной системой координат и не будут соединены с эмиттером. По этому, если эмиттер будет перемещаться, частицы будут оставлять за собой шлейф. Данное значение установлено программой по умолчанию и пригодно для использования в большинстве эффектов.

Objectspace (Пространство объекта)
При данном значении параметра частицы эмитируются в собственные пространственные координаты объекта и при его движении следуют за ним без какой-либо задержки. Данное значение удобно использовать при создании эффекта сияния или силового поля.
New particles when maximum reached (Использование новых частиц когда достигнут лимит)
Wait (Ожидание)
Новые частицы не эмитируются до тех пор, пока старые частицы не исчезнут.
Replace oldest (Перемещение самых старых частиц)
В тот момент, когда новые частицы будут эмитироваться, старые (то есть те частицы которые находятся в сцене продолжительный промежуток времени) частицы будут исчезать из эффекта
Replace random (Перемещение случайных частиц)
В тот момент, когда новые частицы будут эмитироваться, некоторые частицы в произвольном порядке будут исчезать
Preview Configuration (Настройки предварительного просмотра эффекта)
KF Scene
Данная функция позволяет загрузить задний фон, который будет использоваться во время предварительного просмотра эффекта, в сцене. Вместе с редактором в комплекте представлено 4 различных, задних фона для сцены предварительного просмотра, вы можете найти их в директории ...\ParticleFX\kf2.scenes\. Нажмите на широкую кнопку, (помечено надписью <none,> если в настоящее время заданный фон отсутствует) для загрузки, или изменения заднего фона. Сцена статична и не двигается вместе с системой частиц. Нажмите кнопку Clear для того что бы удалить текущий задний фон из предварительного просмотра.
Вы можете сами создать модель KF Scene в редакторе 3D Studio MAX, (или в любом другом редакторе который позволяет экспортировать модель в формат kf2) экспортировать в формат kf2 и создать для него скрипт. Ниже приведен пример скрипта для файла Grid.
[10m_grid]

{
       [Geometry]
       ExportData = data\grid.kf2;

       [Animation] // block redundant if the scene has no animation
       Index = 0;
       filename = data\grid.kf2;
}
KF Object (Объекты в формате KF)
Данная функция позволяет вам вставить в сцену любой объект, что позволяет наблюдать, как эффект смотрится, когда он прикреплен к объекту в игре и установлен в относительной позиции к оси объекта. Объект можно перемещать по сцене, а система частиц будет прикреплена к нему. Объект располагается по направлению движения подобно пулям в игре. Для удаления объекта из сцены предварительного просмотра нажмите кнопку Clear. Примечание: Если вы хотите например, разместить эффект вспышки относительно ствола оружия, вы должны настроить значения параметра Emitter’s Relative Position. Значения позиционирования в настройках предварительного просмотра, используются исключительно в предварительном просмотре и при экспорте эффекта в игровой формат не действительны.
Gravity (Гравитация)
Данный параметр задает значение глобальной гравитации, в редакторе частиц, и позволяет посмотреть на эффект с различными настройками гравитации. Стоит отметить, что данный параметр не влияет на гравитацию, установленную в игре. Значение данного параметра по умолчанию равно 9.81m/s^2
Time scale (Коэффициент времени)
Данный параметр изменяет величину коэффициента времени, и позволяет вам посмотреть, как эффект будет выглядеть в режиме замедленного времени. Если Вы установите значение данного параметра равным 0.1, то время будет идти со скоростью 1/10 от стандартного значения. Значения больше единицы ускоряют ход времени.
Max. FPS (Максимальная частота смены кадров)
Изменяя данный параметр, вы можете посмотреть, как низкая частота смены кадров, будет влиять на поведение частиц. На некоторые чрезвычайно быстрые эффекты могут влиять пропущенные кадры. Значение данного параметра по умолчанию равно 85.
Camera follows at maximum distance of meters # (Максимальное отдаление камеры в метрах)
Когда данная функция активирована камера будет следовать за системой частиц. Когда функция не активна камера ориентируется относительно системы частиц сама.
Scene position is locked (Блокировка позиции в сцене)
Параметр не используется.
Gravity affects system (Система имитации гравитации)
Когда данная функция активна система частиц будет падать вниз, подчиняясь гравитации. Используется в случае тестирования эффекта который будет прикреплен к пулям.
Frontplane (Фронтальный обзор)
Устанавливает величину фронтального обзора системы частиц. Если камера находится на расстоянии ближе чем указано в значении параметра Frontplane, то частицы не прорисовываются.
Backplane (Задний обзор)
Устанавливает величину заднего обзора в окне предварительного просмотра. Если частицы будут находиться дальше чем указано в значении параметра Backplane, то они не будут прорисовываться.
Object Offset XYZ (Смещение объекта по осям XYZ)
Устанавливает позицию KF объекта в сцене предварительного просмотра. Стоит отметить что система частиц всегда прикреплена к объекту, по этому если вы сместите объект, система частиц сдвинется вместе с ним.
System Offset XYZ (Система смещения по осям XYZ)
Устанавливает позицию системы частиц относительно объекта для предварительного просмотра. Примечание: Этот параметр не действует в отношении экспортированной системы частиц. По этому если Вы хотите разместить эффект в нужном месте, будь то вспышка при выстреле или что-либо другое, вы должны будите установить в Эмиттере собственные настройки параметра Relative Offset.
System Rotation XYZ (Система поворота по осям XYZ)
Данный параметр вращает систему частиц в сцене предварительного просмотра и позволяет Вам как выглядит эффект при различном вращении. Данный параметр не действует в экспортированной системе частиц. Для вращения эффекта непосредственно в игре используется вращение Эмиттера.
Object/System Velocity (Скорость объекта/системы)
Добавляет системе частиц ускорение в определенном направлении что позволяет, посмотреть как выглядит эффект когда он прикреплен к движущемуся Эмиттеру. Данный параметр совместим с гравитацией и позволяет симулировать Вам эффекты ракетных шлейфов и так далее.
KF Object
Данная функция позволяет вам вставить в сцену любой объект, что позволяет наблюдать, как эффект смотрится, когда он прикреплен к объекту в игре и установлен в относительной позиции к оси объекта. Объект можно перемещать по сцене, а система частиц будет прикреплена к нему.
Частицы
Частицы – это основной элемент эффекта на основе частиц именно их Вы видите падающими летающими и плавающими. В действительности они представляют собой плоскость, площадь полигона, которая всегда видимой своей частью направлена в камеру. Частицы бывают двух разновидностей Additive or Alpha blended.
Для создания частицы выберете “Particle” в выпадающем списке расположенном в разделе Element and Emitter Properties основного окна проекта, затем кликните на кнопку “New” При создании новой частицы появляется окно в котором Вы можете задать параметры создаваемой частицы, в последующем в случае надобности изменения параметров частиц Вы всегда можете зайти в их свойства, для этого сделайте двойной клик по нужной частице. Примечание: Вы можете скопировать частицы в буфер обмена, для этого выберете соответствующую частицу и нажмите CTRL-C или выберите Copy в меню Edit. С помощью данной функции Вы можете перемещать частицы из одного файла в другой.
Частицы имеют следующие параметры:
Name (Имя)
Данный параметр представляет собой обычный редактируемый текст и задает имя частицы. Вы можете переименовывать имеющиеся частицы, для этого, выберите нужную частицу из списка и подождите одну секунду при этом не двигая мышкой. так же Вы можете произвести процесс переименования непосредственно в окне свойств.
Enable Particle Lighting (Разрешить освещение частиц)
Когда данный параметр активен на затенение частиц будет влиять динамических и точечных источников расположенных на уровне света, а так же параметры графика цветности. Примечание: В случае если точечное освещение уровня настроено не совсем точно, это может привести к странным результатам (например, все частицы, могут оказаться окрашенными в черный цвет и подвергаться воздействию освещения.) Это так же повышает использование центрального процессора системы эффектом, по этому использовать данную функцию следует использовать исключительно в особых случаях, например, в случае если у вас есть комната заполненная дымом и мигающей лампой.
Gravity Multiplier (Коэффициент гравитации)
Данный параметр отвечает за то как на частицы будет влиять гравитация. Если значение данного параметра равно 1, то частицы будут находиться под влиянием гравитации. Значения меньше 1 эффект гравитации разделяется, значения больше 1 This determines how the gravity affects the particle. If the value is 1, the particle is directly affected by the gravity. Values smaller than 1 divide the effect of gravity, values larger than 1 увеличивает Если значение параметра равно 0 то гравитация никак не влияет на частицы. Отрицательные величины параметра делают частицы восходящими вверх (используется для огня и других эффектов которые легче воздуха).
Air Resistance (El. Velocity) (Сопротивление воздуха (скорость элементов))
Данный параметр определяет как скорость частиц влияет на сопротивление воздуха.. Чем быстрей двигаются частицы, тем больше сопротивление воздуха
Linear (Линейная)
Воздушное сопротивление полностью зависит от скорости.
Quadratic (Квадратичная)
Скорость воздействует на воздушное сопротивление вдвойне
Cubic (Кубическая)
Скорость воздействует на воздушное сопротивление втройне.
Air Resistance (El. Size)
Данный параметр определяет как размер частиц влияет на сопротивление воздуха. Чем больше размер частиц тем сильнее сопротивление, конечно если это необходимо.
-None: Сопротивление воздуха не зависит от размера частиц
-Linear: Сопротивление воздуха зависит прямо пропорционально от размера частиц
-Quadratic: Сопротивление воздуха зависит от размера частиц вдвойне
Air Resistance Constant (Постоянная воздушного сопротивления)
Общее значение воздушного сопротивления. Как правило чем больше данное значение тем сильнее воздушное сопротивление. Данная величина зависит от двух других (El. Velocity и El. SizeВ случае если данные величины равны нулю сопротивление отсутствует. Отрицательное значение данного параметра, заставляет частицы двигаться быстрее в различных направлениях, что в свою очередь приводит к интересным, а иногда и странным результатам. Экспериментируя с данным параметром Вы возможно получите желаемый результат.
Анимация частиц
Animation Type (Тип анимации)
Данный параметр определяет, как частицы будут анимированы.
Looping (Зацикленный тип анимации)
Последовательность графических изображений замкнута и определяется частотой смены кадров.. Пример: кружащиеся куски осколков.
Lifetime ()
Вся последовательность отображаемых в сцене изображений частиц имеет срок существования, от первого до последнего.
Animation FPS (Частота кадров анимации)
Определяет частоту смены кадров графической основы эффекта. Данный параметр действителен только в случае использования замкнутого типа анимации.
Random 1st Frame (Случайный 1 кадр)
Когда включена данная функция, графическая основа эффекта начинает отображаться со случайного кадра, это позволяет избежать того что выбрасываемые частицы выглядят синхронно. Данный параметр действителен только в случае использования замкнутого типа анимации.
Random rotation from # to #
Данный параметр определяет степень случайности вращения частиц во время эмиссии и представляет собой плавающую величину между двумя заданными значениями в градусах. В случае если обе величины равны, то случайность сводится к нулю. Вы можете установить обе величины (к примеру) на -90 градусов, - таким образом, все частицы будут вращаться на 90 градусов против часовой стрелки, без какого-либо разброса.
Randomize rotation direction (Случайное направление вращения)
Случайным образом инвертирует график вращения частиц (Rotation Graph).
Random mirroring (Случайность отражения)
Случайным образом переворачивает изображения по оси X или Y тем самым добавляя частицам разнообразия. Некоторые частицы (например, взрыв газового баллона) будут, переворачиваться только по горизонтали, а некоторые другие только по вертикали.
Size Graph (График размера)
Данный график определяет как изменяется размер частиц за период своего существования. Примечание: если вы хотите что бы частицы идущие из эмиттера были больше, наилучшим вариантом будет регулировка величины эмиттера Size Multiple чем изменение графика размера, так как в проливном случае эмиттер может выбрасывать одинаковые частицы.
Rotation Graph (График вращения)
Данный график определяет как частицы будут вращаться в течении своего существования. Данный график инвертируется и увеличивается величинами Rotation Multiplier и Randomize rotation direction
Vertex Alpha Graph (График прозрачности альфа канала)
Данный график влияет на прозрачность альфа канала частицы. С помощью данного параметра Вы можете сделать частицы матовыми или прозрачными. Примечание: все величины в этом графике нормализуются до 255
RGB Color Graph (График цветности)
Позволяет вам определить изменение цветности частиц в течении всего времени существования. График имеет отдельные кривые для каждого из основных цветов. (Красный Зеленый Синий). Для упрощения редактирования цветов активируйте встроенную в Windows цветовую палитру Примечание: окраска частиц увеличивает их собственный цвет (используемый в графической основе), Идеальным вариантом, будет создание графической основы белого цвета, для того что бы на нее влиял только цвет заданный графиком цветности. Это позволит Вам использовать одну и ту же графическую основу эффекта для разных целей.
Эмиттер
Эмиттер частиц представляет собой устройство, которое выбрасывает определенные частицы в соответствии с заданными настройками. Для того что бы создать новый Эмиттер, выберите пункт “Particle Emitter” в выпадающем списке расположенном в разделе Element and Emitter Properties и нажмите кнопку “New”. Для редактирования настроек Эмиттера дважды кликните ЛКМ на нужном Эмиттере. Примечание: Вы можете скопировать нужный Эмиттер в буфер обмена с помощью кнопки Copy или сочетания клавиш CTRL-C. Это позволяет переносить Эмиттеры из одного файла в другой
Настроить можно следующие параметры:
General (Основные)
Name (Имя)
Данный параметр задает имя эмиттера. и представляет собой обычный редактируемый текст.
Positions and Directions (Расположение и направление)
Relative Position (Относительное расположение)
Координаты X, Y и Z изменяют относительное расположение эмиттера в сцене. Например, эффект вспышки используемый при стрельбе из оружия, создается точно в центре оружия и с помощью величин параметра Relative Position должен быть установлен нужное место, в данном случае точно в центре дула.
Emission Direction Graph (График направления эмиссии)
Данный график определяет изменение направления эмиссии частиц в течении всего цикла. График содержит три отдельные кривые для каждого из трех направлений (X, Y и Z).
Пример: Вы можете создать кольцеобразную эмиссию, установив цикл эмиссии очень коротким (0.01 секунд), затем измените два графика таким образом, что бы они представляли собой синусоиду, изображенную на рисунке. Таким «кольцеобразным» способом реализованы облака пыли от падающих тел в Max Payne.
X +/-, Y +/-, Z +/-
Эти постоянные величины определяют насколько сильна в эмиссии случайность каждого направления. Если Вы хотите, что бы частицы во время эмиссии распространялись сильнее, установите величины перпендикулярно направлению эмиссии. Если же Вы хотите, что бы процесс эмиссии частиц протекал с разной скоростью, установите величины параллельно направлению эмиссии.
Velocity Inheritance Factor (Фактор ускорения)
Данная функция не используется.
Element Random Velocity Graph (График элемента произвольной скорости)
Данный параметр определяет насколько направление эмиссии частиц случайно, в течении всего цикла эмиссии. Величина состоит из двух кривых определяющих максимальную и минимальную степень случайности. Данный функция вносит элемент случайности по всем трем направлениям (X/Y/Z).
Пример: Если Вы хотите создать струю воды, которая будет распространяться по частям, затем изменяет в однородный поток, создайте график, который начинается с высокого значения, а затем быстро сводится к нулю.
Emitter Shape (Форма эмиттера)
Форма эмиттера определяет вид участка из которого частицы эффекта будут эмитироваться. Вы можете выбрать между двумя формами эмиттеров это Square(Квадрат) и Sphere(Сфера).
Square (Квадрат)
Частицы генерируются внутри квадрата размеры которого регулируются. Установка величины какой-то одной из осей на ноль приводит к созданию плоскости для эмиссии. Установка двух осей на нулевое значение приводит к созданию прямой. Если Вы хотите что бы эффект был в центре куба, значения должны находиться симметрично между отрицательными и положительными величинами (например минимум -2 метра, максимум 2 метра в результате составляют 4 метра). Если все три значения установить равными нулю все частицы будут генерироваться в одной и той же точке.
Sphere (Сфера)
Частицы генерируются внутри сферобразной площадки радиус которой регулируется. Радиус «горячей» точки (Hotspot) это радиус в котором происходит большая часть эмиссий частиц, а радиус точки «спада» (Falloff) это радиус “затухания” в котором эмиссия частиц приближается к нулевой отметке (вы можете поэкспериментировать с созданием очень коротких эффектов которые создаю тысячи очень маленьких неподвижных частиц, а затем настроить значения, радиуса «горячей» точки и точки «спада». Значение радиуса точки «спада» должна быть эквивалентна или больше чем «горячая» точка, если обе величины равны нулю, все частицы будут генерироваться в одной и той же точке.
Эмиссия
Emission Rate graph (График уровня эмиссии)
Данный график определяет, количество частиц эмитируемых в единицу времени, в течении всего цикла. Величины параметра зависят от двух кривых и находятся в промежутке между ними. Пример: Если Вы хотите создать эффект текущей воды в начале которого, вода будет литься мощным потоком а в конце перейдет в мелкие падающие капли, сделайте начальное значение графика высоким, и с помощью равномерной нисходящей опустите его. Если Вы хотите что бы уровень эмиссии был полностью устойчивым, на протяжении всего цикла установите одинаковые значения у обоих кривых графика. Если Вы хотите уровень эмиссии был неравномерным на протяжении всего цикла, установите значения одной кривой равной нулю, а значения второй напротив, сделайте максимально высоким.
Cycle Length (Длительность цикла)
Данный параметр определяет общую длительность эмиссии в секунду времени. This value determines the overall length of the emission in seconds. Вы можете внести в длительность эмиссии элемент случайности путем добавления дополнительного значения в ячейку +/- . Добавочная величина должна быть обязательно меньше чем общая длительность цикла. Таким образом, длительность цикла каждый раз будет меняться. Например: Когда Вы стреляете в бак с питьевой водой, обратите внимание что некоторые струйки воды, текут дольше, чем другие. Это достигается за счет неопределенной длительности цикла.
Cycle Looping (Замкнутость цикла)
Когда включен данный параметр цикл эмиссии начинается сразу после того как заканчивается. Пример: Вы можете создать мерцающий эффект с замкнутым циклом эмиссии длительность, которой будет неопределенной. Примечание: Чем быстрее цикл эмиссии будет перезапускаться, тем сильнее будет задействован центральный процессор системы, по этому, следует использовать такие эффекты как можно реже. Если вам надо создать длинный и замкнутый эффект, намного лучше будет не использовать данную функцию а зациклить эффект непосредственно в редакторе уровней с помощью скрипта (looping = true.)
Element Lifetime Graph (График элемента продолжительности существования)
Данный параметр определяет продолжительность существования эмитируемых частиц. Данный график содержит две кривые и значение продолжительности существования эмитируемых частиц находится в промежутке между ними. Пример: У Вас есть график в котором время существования эмитируемых частиц может измениться в течении цикла. Предположим у Вас есть эффект который длиться 20 секунд , за счет высоких стартовых величин создается мощное пламя. Пока цикл продолжается Вы можете опускать кривую графика все ниже и ниже пока пламя будет становиться все меньше и меньше и не превратиться в маленькие кратковременны всполохи, и так до тех пор, пока пламя не исчезнет совсем.
Эмиттер частицы
Size Multiplier Graph (График коэффициента размера)
Параметры данного графика определяют размер частиц эмитируемых в течении всего цикла. Данный график содержит две кривые и величина коэффициента размера частиц находится в промежутке между ними. Если Вы хотите что бы все частицы в эффекте были, либо большими, либо маленькими, намного лучше сразу настроить график коэффициента размера, чем графики размера самих частиц – в последствии Вы возможно используете те же частицы с другим эмиттером. Например: В случае ели параметры графика заданны в виде равномерно нисходящей прямой, эффект будет работать следующим образом сначала будут эмитироваться большие частицы, а когда эффект будет заканчиваться начнут эмитироваться маленькие частиц.
Rotation Multiplier Graph (График коэффициента вращения)
Данный график содержит две кривые и величина коэффициента вращения частиц находится в промежутке между ними. При значении больше 1 коэффициент вращения частиц возрастает, а при значениях менее 1 убывает. Отрицательные значения инвертируют график. В случае если значения всех графиков установлены в 0 значение, частицы не вращаются, игнорируя при этом значения графика вращения. Тем не менее, произвольное вращении частиц по-прежнему будет действовать. График коэффициента вращения менее важен, чем другие параметры и чаще всего используется в виде двух постоянных величин (горизонтальных линий) с установленным значением частоты выборки равным 2 единицам. Например, если Вы создаете график вращения частиц, которые идет то вверх, то вниз наподобие «американских горок» частицы будут «вертеться» на протяжении всего время существования. Сила вращения может вирироваться в пределах значений графика коэффициента вращения. Таки образом в Max Payne были смоделированы хлопья снега.
Источники света
Кроме частиц, генератор частиц может так же создать источник света, который будет освещать окружающие его объекты и персонажей (и те частицы, которые активирует освещение). Источник света всегда привязан к эмиттеру и перемещается только вместе с ним.
Для активации источника света пометьте галочкой пункт Use Light. Все эмиттеры у которых активный источник света в названии содержат метку «(L)» (Light) – это позволяет избежать использования нескольких источников света в одном эффекте, так как источники света вызывают сильные издержки производительности системы. Если вы хотите использовать эффект только как источник света вы должны создать пустышку (dummy) частицы и пустышку эмиттера с минимальными значениями всех величин, для того что бы частицы не эмитировались.
Используются следующие параметры:
Light Falloff Graph (График спада мощности источника света)
Устанавливает насколько будет уменьшаться радиус источника света на протяжении всего цикла эмиссии, насколько велика область действия источника света. Обратите внимание что быстрое изменение спада мощности источника света приводит к стремительной тесселяции (тесселяция - это аппроксимация гладкой поверхности множеством элементарных треугольников или многоугольников в процессе создания представления объекта в виде проволочного каркаса) геометрии уровня, что не лучшим образом сказывается на производительности. По этому рекомендуется использовать график спада только в особых случаях. По большей части используйте в графике постоянные величины. Для затухания источника света удобнее использовать график цветности.
Light Color Graph (График цветности источника света )
С помощью данного графика вы можете изменять цвет источника света на протяжении всего цикла эмиссии. График цветности содержит три кривые то есть по одной для каждой цветовой составляющей (RGB)
Нажмите C когда окно цветовой диаграммы активно и появиться палитра для более наглядного и простого редактирования. Чем ниже величина цвета тем темнее источник света.
Brightness (Яркость источника света)
Данный параметр не задействован в текущей версии ParticleFX.
Light Position Offset (Смещение позиции источника света)
Вы можете сместить позицию источника света, от позиции эмиттера. Это может быть необходимым в некоторых случаях. Величина смещения зависит от собственной относительной позиции смещения эмиссии. Если вы измените величину смещения позиции эмиссии, источник света сместиться вместе с ним.

Использование эффектов на основе частиц в игре

Для того что бы использовать эффекты на основе частиц в игре, его сначала необходимо экспортировать. Откройте эффект(Open) и выбирете пункт Export в главном меню File. Произойдет экспорт эффекта в игровой формат .RPS (Realtime Particle Set) который в свою очередь являеться полность автономным и содержит в себе графическую основу эффекта и все необходимые параметры.
В случае если вы создаете большой набор эффектов графических объектов и в тоже время модифицируете определенный набор графических элементов намного проще реэкспортировать их все сразу. Вы можете экспортировать эффекты используя командную строку. Так же вы можете создать bat файл который экспортирует вс частицы в соответствующие директории. Ниже приведен пример экспорта с использованием командной строки (Примечание: Это только пример, по этому пути и директории должны соответствовать вашим настройкам )
ParticleFX.exe -y -e "\particle effects\fire\*.pse" -d "\database\particles\fire\"
После того как нужный эффект будет экспортирован, вы должны добавить его в игровую базу данных и прописать в специальном скриптовом файле. Данный файл вы можете найти в директории ….\data\database\particles\
Запустить готовый эффект вы можете с помощью команды ps_starteffect Более подробную информацию по этому вопросу вы можете найти в документации по редактору Remedy Max ED.

Оптимизация эффектов

В процессе создания визуальных спецэффектов много, неоднозначных моментов. Одним из таких моментов является именно оптимизация эффекта. Конечно, учитывая мощности современных компьютеров оптимизацией можно пренебречь, но все, же в разумных пределах. Ведь весьма вероятно, что ваша модификация будет содержать множество сцен, в которых будет одновременно визуализироваться несколько сложных эффектов. По этому, если Вы хотите в последующем снизить нагрузку на центральный процессор системы, об оптимизации надо думать с самого начала. В противном случае вы можете столкнуться с ситуацией, когда при каждом запуске нескольких красивейших спецэффектов частота кадров в сцене будет резко падать до критической отметки. Данный раздел предназначен для того что бы, такие ситуации не возникали, и даст большинству продвинутых пользователей представление о различных аспектах оптимизации эффектов
The number of particles (Число частиц)
Из представленных ниже, это самый простой способ снизить нагрузку на процессор. Суть данного способа состоит в том, что бы при создании эффекта использовать настолько мало частиц насколько это вообще возможно. То есть обойтись необходимым минимумом. Вы можете установить примерный лимит, который будет определять число частиц, которые будут использоваться в эффекте. Данный способ не позволяет тратить ресурсы памяти на частицы, которые никогда не будут использоваться. В процессе регулировки количества частиц следите за частотой кадров. Рекомендуем, небольшие, но очень частые эффекты, такие как осколки, при столкновении пули с поверхностью ограничить 10-40 частицами, взрывы должны использовать в районе 150-200 частиц, а крупные эффекты типа снежного бурана около 400-600 частиц.
Particle size (Размер частиц)
Известно, что чем больше графическая составляющая используемых в эффекте частиц, тем быстрее частота кадров будет достигать критического уровня. Используйте ее разумно и только тогда когда это нужно.

Emission Rate (Интенсивность эмиссии)
Если длительность цикла эмиссии равна 0.1 секунды, а эффект использует максимум 20 частиц, это не является ограничением для массовой интенсивной эмиссии в течении цикла которой распространяется около 20 000 частиц из которых только 20 частиц остаются существовать.. Эмиссия с низкой интенсивностью эта та эмиссия которая использует максимальное число частиц.
Rapid Cycle Looping (Малая продолжительность замкнутого цикла)
Если цикл эмиссии частиц очень короткий и является замкнутым, то, как следствие частый перезапуск эффекта вызывает повышенное использование ЦП. Используйте подобные циклы только в особенных случаях. Для того что бы зациклить какой-либо эффект, например пар который идет из трубы или горящий в камине огонь, оптимальная длительность эффекта равна 5-10 секундам. Собственно сама цикличность эффекта обеспечивается за счет скрипта прописанного при создании уровня, а не в результате манипуляций в редакторе частиц
Particle Lifetime (Продолжительность существования частиц)
Частицы продолжают существовать даже после того как они попадают за видимые пределы уровня. Тот факт, что мы их не видим, не означает то, что они не используют вычислительные ресурсы Вашей системы. По этому, вы должны рассчитывать продолжительность существования частиц в сцене таким образом, что бы они как можно меньше существовали в «мертвой зоне» карты. Например, для эффекта падающих с потолка обломков время существования частиц устанавливается такое, что бы они (обломки) успевали долететь до пола комнаты.
Graph Samplerate (График частоты выборки)
Если вы используете график, только для задания постоянной величины (горизонтальная линия) или линейно изменяющейся характеристики, не имеющей точек (прямая наклонная), он имеет частоту выборки равную 16. Для улучшения производительности понизьте ее до 2 единиц. Если вы используете только некоторые параметры эффекта из всех имеющихся (например когда вы используете эффект только как источник света) возможно снижение выборки графика до минимума. По умолчанию редактор выставляет для всех графиков величину выборки равную 16 единицам, в не зависимости от того используется он или нет.
Effect Overall Radius (Общий радиус эффекта)
Дальнейшее распространение частиц из центра эмиссии больше чем общий радиус эффекта. Очень большие эффекты или очень длинные дымные шлейфы должны быть вытянуты внутри каждой комнаты, которые находятся вне радиуса эффекта причина перегрузки. Правда гарантия того что радиус эффекта не будет становиться больше

Use the lights wisely (Разумное использование освещения)
В случае если реализуемый эффект вспышки при выстреле состоит из несколько разных вспышек которые появляются то тут то там, достаточно использовать только один источник света. Использование 4 источников света в одном эффекте является предельно плохой идеей. Намного лучше будет, разделить источник света невидимым эмиттером и невидимыми частицами.
Rarely use the Light Falloff Graph (Редкое использование графика спада света)
Всякий раз, когда радиус источника света меняется, геометрия уровня перетеселируется и адаптируется под новые характеристики источника света. Изменение радиуса источника света очень сильно повышает нагрузку на ЦП, поэтому используйте данный параметр только в необходимых случаях.
Combine the bitmaps (Комбинирование графических элементов)
На последней стадии, когда Вам надо будет интегрировать набор созданных эффектов в игру все используемые эффекты должны быть добавлены в файл _All_Particles.pse. Все мелкие графические элементы будут объединены в один большой, таким образом, несколько совершенно разных эффектов могут находиться в одном и том же файле. Это помогает сохранить ту часть памяти, в которой хранятся текстуры, особенно в том случае, когда два эффекта используют одну и ту же основу, а различия заключаются в очень маленьких деталях.

Просмотров: 6 696

SharpShooter #1 - 10 лет назад 3
Редактор создает эффект, в котором спрайты постоянно повернуты к игроку. А как это обойти? (например, нужно создать "матричный" след - при обычном подходе кольца будут поворачиваться к игроку, а круговая эмиссия (из стандартных эффектов для макса_2 "circular_emission.pse"), трескает много ресурсов и станет тормозить когда станет жарко (а мало частиц и на круг не похоже). Эта опция в редакторе есть, но как ее включить? (Создателя "Эквилибриума" здесь нет?).