Параметры частиц: скорость, размер, цвет, прозрачность, вращение

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

1. Скорость частиц

Скорость частиц в PlayCanvas определяется как изменение их положения во времени. Это значение определяет, насколько быстро частица движется в пространстве.

  • Скорость по направлению: Частицы могут двигаться вдоль заданного направления (например, по оси X или Z), или могут быть случайно распределены по различным направлениям. Для настройки направления скорости в PlayCanvas используется параметр velocity.

    Например, можно задать начальную скорость частицы следующим образом:

    var particleSystem = new pc.ParticleSystem(graphicalEntity);
    particleSystem.velocity = new pc.Vec3(0, 1, 0);  // Частицы двигаются вверх по оси Y
  • Диапазон скорости: Чтобы сделать движение частиц более разнообразным, можно указать диапазон значений скорости, создавая эффект случайного изменения скорости частиц в пределах заданных ограничений. Это достигается с помощью минимальной и максимальной скорости.

    particleSystem.velocityVariation = new pc.Vec3(0.5, 0.5, 0.5);  // Разброс скорости в пределах 0.5 по всем осям

2. Размер частиц

Размер частиц в PlayCanvas играет ключевую роль в визуальном восприятии эффекта. Частицы могут иметь фиксированный размер или изменяться со временем, например, увеличиваться или уменьшаться в зависимости от их жизненного цикла.

  • Фиксированный размер: Чтобы задать постоянный размер частиц, используется параметр startSize. Это значение будет одинаковым для всех частиц.

    particleSystem.startSize = 0.5;  // Размер каждой частицы — 0.5
  • Изменяющийся размер: Для изменения размера частиц с течением времени используется параметр sizeGraph, который позволяет задать график изменения размера в зависимости от времени жизни частицы.

    var sizeGraph = new pc.Graph();
    sizeGraph.addPoint(0, 1);  // Начальный размер
    sizeGraph.addPoint(1, 0.5);  // Конечный размер
    particleSystem.sizeGraph = sizeGraph;

    В этом примере частицы начинают с размера 1 и уменьшаются до размера 0.5 в конце их жизненного цикла.

3. Цвет частиц

Цвет частиц — это один из основных параметров для настройки визуальных эффектов. В PlayCanvas для управления цветом используется параметр startColor, который определяет начальный цвет частиц. Также можно задавать цвет с течением времени, изменяя его через colorGraph.

  • Начальный цвет: Цвет задается через объект pc.Color, который имеет компоненты для красного, зеленого, синего и альфа-канала (прозрачность).

    particleSystem.startColor = new pc.Color(1, 0, 0);  // Начальный цвет — красный
  • Изменяющийся цвет: Чтобы частицы меняли цвет по мере их жизни, используется colorGraph, в котором можно задать точки для изменения цвета.

    var colorGraph = new pc.Graph();
    colorGraph.addPoint(0, new pc.Color(1, 0, 0));  // Начальный цвет — красный
    colorGraph.addPoint(0.5, new pc.Color(0, 1, 0));  // Половина жизни — зеленый
    colorGraph.addPoint(1, new pc.Color(0, 0, 1));  // Конец жизни — синий
    particleSystem.colorGraph = colorGraph;

    В этом примере цвет частицы плавно меняется от красного до синего в зависимости от времени её жизни.

4. Прозрачность частиц

Прозрачность частиц в PlayCanvas регулируется с помощью параметра startAlpha, который определяет начальную прозрачность. Также можно изменить прозрачность частиц в зависимости от их возраста, используя параметр alphaGraph.

  • Начальная прозрачность: Прозрачность частиц устанавливается значением от 0 (полностью прозрачные) до 1 (полностью непрозрачные).

    particleSystem.startAlpha = 0.8;  // Частицы начинаются с 80% непрозрачности
  • Изменяющаяся прозрачность: Для изменения прозрачности частиц в зависимости от времени их жизни используется alphaGraph. Например, можно настроить так, чтобы частицы начинались полупрозрачными и становились полностью прозрачными к концу своей жизни.

    var alphaGraph = new pc.Graph();
    alphaGraph.addPoint(0, 1);  // Начало жизни — непрозрачные
    alphaGraph.addPoint(1, 0);  // Конец жизни — полностью прозрачные
    particleSystem.alphaGraph = alphaGraph;

5. Вращение частиц

Вращение частиц добавляет эффект динамичности. В PlayCanvas для задания вращения используется параметр startRotation для начального угла и rotationGraph для изменения угла вращения в зависимости от времени жизни частицы.

  • Начальное вращение: Начальный угол вращения можно задать с помощью параметра startRotation, который принимает значение в радианах.

    particleSystem.startRotation = Math.PI / 4;  // Начальное вращение — 45 градусов
  • Изменяющееся вращение: Чтобы частицы вращались со временем, можно использовать rotationGraph.

    var rotationGraph = new pc.Graph();
    rotationGraph.addPoint(0, 0);  // Начальный угол — 0 радиан
    rotationGraph.addPoint(1, Math.PI * 2);  // Конечный угол — 360 градусов (2*pi)
    particleSystem.rotationGraph = rotationGraph;

    В этом примере частицы начинают без вращения и к концу своей жизни делают полный оборот.

Заключение

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