Свойства материала процесса
Минимальные, максимальные и кривые свойства
Свойства этого материала управляют поведением частиц и их изменением в течение их жизни. Многие из них имеют значения Min, Max и Curve, которые позволяют вам точно настраивать их поведение. Связь между этими значениями следующая: когда создается частица, свойству присваивается случайное значение между Min и Max. Если Min и Max одинаковы, значение всегда будет одинаковым для каждой частицы. Если также задано Curve, значение свойства будет умножено на значение кривой в текущей точке времени жизни частицы. Используйте кривую, чтобы изменить свойство в течение времени жизни частицы. Таким образом можно выразить очень сложное поведение.
Примечание
На этой странице описывается, как использовать ParticleProcessMaterial специально для 3D-сцен. Для получения информации о том, как использовать его в 2D-сцене, см. Использование ParticleProcessMaterial 2D.
Время
Свойство Lifetime Randomness контролирует, сколько случайности следует применять к жизни каждой частицы. Значение 0 означает, что случайности нет вообще, и все частицы живут одинаковое количество времени, установленное свойством Lifetime. Значение 1 означает, что время жизни частицы полностью случайно в диапазоне [0.0, Lifetime].
Флаги частиц
Свойство Align Y выравнивает ось Y каждой частицы с ее скоростью. Включение этого свойства равнозначно установке свойства Transform Align в Y to Velocity.
Свойство Rotate Y работает со свойствами в группах Angle и Angular Velocity для управления вращением частиц. Rotate Y необходимо включить, если вы хотите применить какое-либо вращение к частицам. Исключением являются любые частицы, которые используют Standard Material, где свойство Billboard установлено на Particle Billboard. В этом случае частицы вращаются даже без включенного Rotate Y.
Если свойство Отключить Z включено, частицы не будут двигаться вдоль оси Z. Будет ли это локальной осью Z системы частиц или мировой осью Z, определяется свойством Локальные координаты.
Свойство Damping as Friction (амортизация как трение) изменяет характер демпфирования с постоянного замедления на замедление, зависящее от скорости.
Спаун
Форма эмиссии
Частицы могут испускаться из одной точки в пространстве или таким образом, что они заполняют форму. Свойство Shape управляет этой формой. Point является значением по умолчанию. Все частицы испускаются из одной точки в центре системы частиц. Если установлено значение Sphere или Box, частицы испускаются таким образом, что они равномерно заполняют сферу или форму коробки. У вас есть полный контроль над размером этих форм. Sphere Surface работает как Sphere, но вместо того, чтобы заполнять ее, все частицы появляются на поверхности сферы.
Частицы, испускаемые из точки (слева), в сфере (посередине) и в ящике (справа)
Кольцевая система частиц
Форма испускания Ring (Кольцо) заставляет частицы испускаться в форме кольца. Вы можете управлять направлением кольца, изменяя свойство Ring Axis (Ось кольца). Ring Height (Высота кольца) управляет толщиной кольца вдоль его оси. Ring Radius (Радиус кольца) и Ring Inner Radius (Внутренний радиус кольца) управляют шириной кольца и размером отверстия в середине. На изображении показана система частиц с радиусом 2 и внутренним радиусом 1,5, ось направлена вдоль глобальной оси Z.
В дополнение к этим относительно простым формам вы можете выбрать опцию Points или Directed Points для создания очень сложных форм излучения. Подробное объяснение того, как их настроить, см. в разделе Complex emit forms.
Угол
Свойство Angle управляет начальным вращением частицы как описано выше. Чтобы оказать реальное воздействие на частицу, необходимо включить одно из двух свойств: Rotate Y вращает частицу вокруг оси Y системы частиц. Свойство Billboard в Standard Material, если оно установлено в Particle Billboard, вращает частицу вокруг оси, которая указывает от частицы к камере.
Направление
Примечание
Одного лишь свойства Direction недостаточно, чтобы увидеть движение частиц. Какие бы значения вы здесь ни установили, они вступят в силу только после установки свойств скорости или ускорения.
Свойство Direction — это вектор, который управляет направлением движения каждой частицы в момент ее создания. Значение (X=1,Y=0,Z=0) заставит все частицы двигаться вбок вдоль оси X. Для чего-то вроде фонтана, где частицы выстреливают в воздух, значение (X=0,Y=1,Z=0) будет хорошей отправной точкой.
Различные значения направления: только ось Y (слева), одинаковые значения для X и Y (посередине), X и Y с включенной гравитацией (справа)
После установки направления вы заметите, что все частицы движутся в одном направлении по прямой линии. Свойство Spread добавляет некоторую вариативность и случайность в направление каждой частицы. Чем выше значение, тем сильнее отклонение от исходного пути. Значение 0 означает, что никакого разброса нет вообще, а значение 180 заставляет частицы разлетаться во всех направлениях. Вы можете использовать это для чего-то вроде кусков мусора во время эффекта взрыва.
Без разворота (слева), угол 45 градусов (посередине), полный разворот на 180 градусов (справа)
Свойство Flatness ограничивает распространение по оси Y. Значение 0 означает, что ограничений нет, а значение 1 исключит все движения частиц по оси Y. Частицы будут распространяться совершенно «плоско».
Вы не увидите никакого фактического движения, пока не зададите некоторые значения для свойств скорости и ускорения ниже, поэтому давайте рассмотрим их далее.
Начальная скорость
В то время как свойство Direction управляет направлением движения частицы, Initial Velocity управляет скоростью ее движения. Оно разделено на Velocity Min и Velocity Max, оба по умолчанию установлены на 0, поэтому изначально вы не видите никакого движения. Как только вы задаете значения для любого из этих свойств как описано выше, частицы начинают двигаться. Направление умножается на эти значения, поэтому вы можете заставить частицы двигаться в противоположном направлении, задав отрицательную скорость.
Акселерация (ускорение)
Гравитация
Следующие несколько групп свойств тесно взаимодействуют для управления движением и вращением частиц. Gravity (Гравитация) перетаскивает частицы в направлении, на которое они указывают, что по умолчанию соответствует силе земного притяжения. Гравитация влияет на все движение частиц. Если ваша игра использует физику и гравитация мира может меняться во время выполнения, вы можете использовать это свойство, чтобы синхронизировать гравитацию игры с гравитацией частиц. Значение Gravity `` ``(X=0,Y=0,Z=0) означает, что ни одна частица вообще не будет двигаться, если не задано ни одно из других свойств движения.
Слева: (X=0,Y=-9.8,Z=0), посередине: (X=0,Y=9.8,Z=0), справа: (X=4,Y=2,Z=0).
Угловая скорость
Angular Velocity (Угловая скорость) управляет скоростью вращения частицы как описано выше. Вы можете изменить направление, используя отрицательные числа для Velocity (Скорость) Min или Velocity Max. Как и свойство Angle, вращение будет видно только в том случае, если установлен флаг Rotate Y или выбран режим Particle Billboard в Standard Material.
Примечание
Свойство Damping (амортизация) не влияет на угловую скорость.
Линейное ускорение
Скорость частицы — это постоянная величина: после установки она не меняется, и частица всегда будет двигаться с одной и той же скоростью. Вы можете использовать свойство Linear Accel (Линейное ускорение) для изменения скорости движения в течение жизни частицы как описано выше. Положительные значения ускорят частицу и заставят ее двигаться быстрее. Отрицательные значения замедлят ее, пока она не остановится и не начнет двигаться в другом направлении.
Отрицательное (вверху) и положительное (внизу) линейное ускорение
Важно помнить, что когда мы меняем ускорение, мы не меняем скорость напрямую, мы меняем изменение скорости. Значение 0 на кривой ускорения не останавливает движение частицы, оно останавливает изменение движения частицы. Какова бы ни была ее скорость в тот момент, она будет продолжать двигаться с этой скоростью, пока ускорение не изменится снова.
Радиальное ускорение
Свойство Radial Accel (Радиальное ускорение) добавляет ко всем частицам силу, подобную гравитации, с источником этой силы в текущем местоположении системы частиц. Отрицательные значения заставляют частицы двигаться к центру, подобно силе гравитации планеты на объекты на ее орбите. Положительные значения заставляют частицы двигаться от центра.
Отрицательное (слева) и положительное (справа) радиальное ускорение
Тангенциальное ускорение
Касательные на окружности
Это свойство добавляет ускорение частицы в направлении касательной к окружности на плоскости XZ системы частиц с началом координат в центре системы и радиусом, равным расстоянию между текущим местоположением каждой частицы и центром системы, спроецированным на эту плоскость.
Давайте разберемся.
Касательная к окружности — это прямая линия, которая «касается» окружности под прямым углом к радиусу окружности в точке касания. Окружность на плоскости XZ системы частиц — это окружность, которую вы видите, когда смотрите на систему частиц сверху вниз.
Тангенциальное ускорение (вид сверху)
Tangential Accel (Касательное ускорение) всегда ограничено этой плоскостью и никогда не перемещает частицы вдоль оси Y системы. Местоположение частицы достаточно для определения такой окружности, где расстояние до центра системы является радиусом, если мы игнорируем компоненту Y вектора.
Свойство Tangential Accel заставит частицы вращаться вокруг центра системы частиц, но радиус будет постоянно увеличиваться. Если смотреть сверху, частицы будут удаляться от центра по спирали. Отрицательные значения меняют направление.
Амортизация
Свойство Damping (амортизация) постепенно останавливает все движение. В каждом кадре движение частицы немного замедляется, если только общее ускорение не больше эффекта затухания. Если это не так, частица будет продолжать замедляться, пока не перестанет двигаться вообще. Чем больше значение, тем меньше времени требуется для полной остановки частиц.
Взаимодействие с аттракторами
Если вы хотите, чтобы система частиц взаимодействовала с particle attractors (аттракторами частиц), вам нужно проверить свойство Enabled (Включено). Когда оно отключено, система частиц игнорирует все аттракторы частиц.
Отображать
Масштаб
Scale (Масштаб) управляет размером частицы как описано выше. Вы можете задать разные значения для Scale Min и Scale Max, чтобы рандомизировать размер каждой частицы. Отрицательные значения не допускаются, поэтому вы не сможете переворачивать частицы с помощью этого свойства. Если вы испускаете частицы как билборды, свойство Keep Size (Держать размер) для Standard Material в ваших проходах отрисовки должно быть включено, чтобы любое масштабирование имело эффект.
Цвет
Свойство Color управляет начальным цветом частицы. Оно будет иметь эффект только после включения свойства Use As Albedo (Использовать как Альбедо) в группе Vertex Color Standard Material. Это свойство умножается на цвет, полученный из собственного свойства Color или Texture материала частицы.
Настройка цветового градиента
В группе Color есть два свойства Ramp. Они позволяют вам определить диапазон цветов, которые используются для установки цвета частицы. Свойство Color Ramp (Цветовая шкала) изменяет цвет частицы в течение ее жизненного цикла. Он проходит через весь определенный вами диапазон цветов. Свойство Color Initial Ramp (Начальная цветовая шкала) выбирает начальный цвет частицы из случайной позиции на цветовой шкале.
Чтобы настроить цветовую шкалу, щелкните по полю рядом с именем свойства и в раскрывающемся меню выберите New GradientTexture1D. Щелкните по полю еще раз, чтобы открыть сведения о текстуре. Найдите свойство Gradient, щелкните по полю рядом с ним и выберите New Gradient. Щелкните по этому полю еще раз, и вы увидите цветовой диапазон. Щелкните в любом месте этого диапазона, чтобы вставить новый маркер. Вы можете переместить маркер с помощью мыши и удалить его, щелкнув правой кнопкой мыши. Когда маркер выбран, вы можете использовать палитру цветов рядом с диапазоном, чтобы изменить его цвет.
Вариация оттенка
Как и свойство Color, Hue Variation (Изменение оттенка) управляет цветом частицы, но другим способом. Он делает это не путем установки значений цвета напрямую, а путем изменения оттенка цвета.
Оттенок описывает пигмент цвета: красный, оранжевый, желтый, зеленый и т. д. Он ничего не говорит о том, насколько яркий или насыщенный цвет. Свойство Hue Variation (Изменение оттенка) управляет диапазоном доступных оттенков как описано выше.
Он работает поверх текущего цвета частицы. Значения, которые вы устанавливаете для Variation Min и Variation Max, контролируют, насколько далеко оттенок может смещаться в любом направлении. Более высокое значение приводит к большему изменению цвета, в то время как низкое значение ограничивает доступные цвета ближайшими соседями исходного цвета.
Различные значения для изменения оттенка, оба раза с синим в качестве базового цвета: 0,6 (слева) и 0,1 (справа)
Анимация
Группа свойств Animation управляет поведением анимаций спрайт-листа в Standard Material частицы. Значения Min, Max и Curve работают как описано выше.
Анимированный спрайт-лист (animated sprite sheet) — это текстура, которая содержит несколько меньших изображений, выровненных по сетке. Изображения отображаются одно за другим так быстро, что они объединяются, чтобы воспроизвести короткую анимацию, как в флипбуке (flipbook). Вы можете использовать их для анимированных частиц, таких как дым или огонь. Вот шаги для создания анимированной системы частиц:
Анимированный спрайт дыма размером 8x8
Импортируйте текстуру спрайт-листа в движок. Если у вас ее нет под рукой, вы можете загрузить
высокоразрешенную версию примера изображения.Настройте систему частиц как минимум с одним проходом отрисовки и назначьте
Standard Materialсетке в этом проходе отрисовки.Назначьте спрайт-лист свойству
Textureв группеAlbedo (Альбедо)Установите свойство материала
BillboardнаParticle Billboard. Это сделает группуParticles Anim (Анимация частиц)доступной в материале.Установите
H Framesна количество столбцов, аV Framesна количество строк в таблице спрайтов.Установите флажок
Loop (Цикл), если хотите, чтобы анимация повторялась.
Вот и все для стандартного материала. Сразу никакой анимации вы не увидите. Вот тут-то и пригодятся свойства Animation. Свойства Speed управляют скоростью анимации спрайт-листа. Установите Speed Min и Speed Max на 1, и вы должны увидеть воспроизведение анимации. Свойства Offset управляют тем, где начинается анимация для вновь созданной частицы. По умолчанию это всегда будет первое изображение в последовательности. Вы можете добавить немного разнообразия, изменив Offset Min и Offset Max, чтобы рандомизировать начальную позицию.
Три разные системы частиц, использующие один и тот же лист спрайтов дыма
В зависимости от того, сколько изображений содержит ваш спрайт-лист и как долго ваша частица жива, анимация может выглядеть не гладкой. Связь между временем жизни частицы, скоростью анимации и количеством изображений в спрайт-листе следующая:
Примечание
При скорости анимации 1.0 анимация достигнет последнего изображения в последовательности как раз в тот момент, когда закончится время жизни частицы.
Если ваш лист спрайтов содержит 64 (8x8) изображения, а время жизни частицы установлено на 1 секунду, анимация будет очень плавной при 64 FPS (1 секунда / 64 изображения). Если время жизни установлено на 2 секунды, она все еще будет довольно плавной при 32 FPS. Но если частица жива в течение 8 секунд, анимация будет заметно прерывистой при 8 FPS. Чтобы сделать анимацию снова плавной, вам нужно увеличить скорость анимации примерно до 3, чтобы достичь приемлемой частоты кадров.
Одна и та же система частиц при разном времени жизни: 1 секунда (слева), 2 секунды (посередине), 8 секунд (справа)
Обратите внимание, что Fixed FPS узла GPUParticles3D также влияет на воспроизведение анимации. Для плавного воспроизведения анимации рекомендуется установить его на 0, чтобы частица имитировалась на каждом отрисованном кадре. Если это не вариант для вашего варианта использования, установите Fixed FPS равным эффективной частоте кадров, используемой анимацией флипбука (flipbook) (см. выше формулу).
Turbulence (турбулентность)
Турбулентность добавляет шум к движению частиц, создавая интересные и живые узоры. Установите флажок рядом со свойством Enabled, чтобы активировать его. Появляется ряд новых свойств, которые управляют скоростью движения, рисунком шума и общим влиянием на систему частиц. Вы можете найти подробное объяснение этого в разделе particle turbulence.
Столкновение
Свойство Mode управляет тем, как и если излучатели сталкиваются с узлами столкновения частиц. Установите его на Disabled, чтобы отключить любое столкновение для этой системы частиц. Установите его на Hide On Contact (Скрыть при контакте), если вы хотите, чтобы частицы исчезали сразу после столкновения. Установите его на Constant, чтобы частицы сталкивались и отскакивали. Вы увидите два новых свойства, которые появятся в инспекторе. Они управляют поведением частиц во время событий столкновения.
Высокое значение Friction (Трения) уменьшит скольжение по поверхностям. Это особенно полезно, если частицы сталкиваются с наклонными поверхностями, и вы хотите, чтобы они оставались на месте, а не скользили до самого низа, как снег, падающий на гору. Высокое значение Bounce (Отскока) заставит частицы отскакивать от поверхностей, с которыми они сталкиваются, как резиновые мячи от твердого пола.
Если свойство Use Scale (Использовать масштаб) включено, базовый размер столкновения умножается на текущий масштаб частицы. Вы можете использовать это, чтобы убедиться, что визуализированный размер и размер столкновения совпадают для частиц со случайным масштабом или масштабом, который меняется со временем.
Дополнительную информацию о столкновениях частиц можно найти в разделе Collisions (Столкновения) данного руководства.
Суб-эмиттер
Доступные режимы суб-эмиттера
Свойство Mode управляет тем, как и когда создаются суб-эмиттеры (вложенные эмиттеры). Установите его на Disabled, и суб-эмиттеры никогда не будут созданы. Установите его на Constant, чтобы суб-эмиттеры создавались непрерывно с постоянной скоростью. Свойство Frequency управляет частотой, с которой это происходит в течение одной секунды. Установите режим на At End, чтобы суб-эмиттер создавался в конце жизненного цикла родительской частицы, прямо перед ее уничтожением. Свойство Amount At End управляет количеством создаваемых суб-эмиттеров. Установите режим на At Collision, чтобы суб-эмиттеры создавались при столкновении частицы с окружающей средой. Свойство Amount At Collision управляет количеством создаваемых суб-эмиттеров.
Если свойство Keep Velocity (Сохранить скорость) включено, вновь созданный суб-эмиттер начинает работу со скоростью родительской частицы на момент создания суб-эмиттера.
Подробное объяснение того, как добавить суб-эмиттер в систему частиц, см. в разделе Sub-emitters в этом руководстве.