reckfellENGINE

Материал частиц: движение, размер и цвет

Рождение и ускорение, смысл кривых, масштаб и материал поверхности.

На этой странице

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

Разделяйте рождение и дальнейшие изменения

ЗадачаС чего начатьВажное различие
Где появляются частицыEmissionShape и размеры/данные точекПозиции рождения, а не движущийся объём столкновений.
Начальное движениеDirection, Spread, InitialVelocityMin/MaxОдно направление не создаёт скорость.
Последующее ускорениеGravity и параметры ускоренияНулевое ускорение не отменяет уже имеющуюся скорость.
ЗамедлениеDampingMin/Max и режим dampingНе равно уменьшению времени жизни или паузе симуляции.
Размер за время жизниScaleMin/Max и ScaleCurveВнешний вид зависит также от геометрии и billboard-настроек.
ЦветColor, начальная/временная градиентные карты и цвета точекМатериал отображения должен использовать цвет вершин частиц.

Исполненный пример ParticlePointMaterial в статье Эмиссия по точкам изолирует настройки фиксированными камерой, зерном и unshaded-поверхностью. Он подтверждает: при нулевой начальной скорости один Direction не создаёт движение, а гравитация ускоряет частицы из покоя.

Min, Max и Curve зависят от конкретного параметра

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

Не предполагайте, что любая кривая умножает одну и ту же базовую величину. В текущем генерируемом шейдере ScaleCurve умножает масштаб, а animation offset прибавляется к базе; animation speed участвует в продвижении анимации по времени жизни. Перед переносом кривой между настройками проверьте смысл конкретного свойства.

Для масштаба диапазон 2–2 с постоянной кривой 0.5 возвращает проверенную геометрию к исходному размеру 1. Кривая читается по нормализованному времени жизни частицы, а не абсолютным секундам. Проверьте края и диапазон значений: случайный ноль или большое число могут сделать эффект будто исчезнувшим или огромным.

Keep Size не является универсальным условием работы масштаба. Это настройка поверхности, влияющая на размер billboard; обычные меши GPU-примера явно меняют размер без неё. Проверяйте свой меш и billboard-режим. Масштаб также не является общей командой остановить симуляцию или удалить источник.

Форма и направление решают разные задачи

Point, sphere, sphere surface, box и ring задают разные распределения рождения. Points/DirectedPoints читают конечный набор из текстур данных. Объёмное распределение отличается от поверхностного; не обещайте математически равномерную плотность для любой реализации формы.

EmissionShapeScale и EmissionShapeOffset преобразуют локальные позиции рождения в порядке position × scale + offset. Они не увеличивают отображаемый меш. Изменение формы не является автоматической командой переместить все живые частицы: при сравнении новой раскладки перезапускайте контролируемый эффект.

Direction вместе с InitialVelocity задаёт начальное движение, Spread меняет угловой разброс. Gravity добавляет независимое последующее ускорение. Для DirectedPoints нормали ориентируют локальный базис: пример использует локальное +Z (Vector3.Back), чтобы скорость шла вдоль записанной нормали. При другом базовом Direction это не обязательно так.

Ускорение и замедление

  • Gravity — ускорение материала, а не подписка на гравитацию физического мира. Если нужна связь, синхронизируйте её явно.
  • Линейное ускорение меняет скорость вдоль соответствующего направления движения, а не присваивает позицию.
  • Радиальное ускорение использует направление от начала источника. Знак определяет движение наружу или внутрь.
  • Тангенциальное ускорение в генерируемом 3D-шейдере использует векторное произведение с участием Gravity. Оно не ограничено мировой XZ при любой гравитации. Путь Disable Z имеет отдельный плоский расчёт.
  • Обычный damping уменьшает скорость. Damping As Friction переключает расчёт на зависимость от скорости и не обещает полностью откалиброванную физическую модель трения. Ускорение может противодействовать замедлению.

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

Цвет требует материала отображения

Process Color умножается на остальные источники цвета частиц. Данные цвета точек также модулируют результат, а не заменяют его независимо от базы. Жёлтый цвет материала убирает синюю группу в проверенном красно-синем примере.

ColorInitialRamp задаёт случайный начальный выбор цвета; ColorRamp меняет цвет по нормализованному времени жизни. При неожиданном затемнении проверьте оба. Для использования цвета частиц стандартной поверхности нужен Vertex Color → Use As Albedo (VertexColorUseAsAlbedo = true), а белый albedo исключает ещё одно нежелательное окрашивание.

Для alpha требуется подходящий режим прозрачности поверхности. Непрозрачный материал не становится полупрозрачным дымом из-за alpha в цвете или градиенте симуляции. При этом большие blended-карточки могут быть дорогими даже при небольшом количестве частиц. Не исправляйте ошибку материала/цвета одним увеличением эмиссии.

Время жизни, флаги и дополнительные настройки

LifetimeRandomness меняет эффективную жизнь отдельной частицы относительно базового Lifetime источника. Это отличается от Randomness источника, который меняет моменты рождения. Флаги выравнивания/вращения управляют ориентацией, а материал поверхности может добавлять billboard-поведение: проверяйте сочетание, не считайте все параметры вращения взаимозаменяемыми.

Disable Z ограничивает соответствующий путь частиц с учётом LocalCoords. Attractors, turbulence, collision, sub-emission и текстуры анимации требуют дополнительной настройки; одна галочка материала не подтверждает готовый рабочий эффект.

Сопутствующий пример содержит 14 нативных проверок Windows Forward+/Vulkan для точек, цвета, преобразования формы, масштаба/кривой и направления/скорости/гравитации. Остальные силы/флаги, все примитивные формы, продвинутые эффекты, экспорт и производительность проверяются отдельно. См. Время источника, включая ограничение SpeedScale/Finished.

Документация Reckfell EngineНаверх ↑
БЫСТРЫЙ ПЕРЕХОДНачало работыEntity и иерархияC# & .NET 10Сцены и префабы
Руководства и полный API Reckfell K
reckfellENGINE
RECKFELL ACCOUNT

Вход в аккаунт

Войдите в аккаунт Reckfell.

Один аккаунт для всей платформы Reckfell.