p Friction
Трение частиц
pFriction постепенно гасит движение и вращение уже существующих частиц: Velocity Friction уменьшает линейную скорость, Spin Friction — spin/rotation, а Conditions и Region позволяют ограничить это сопротивление по вероятности, возрасту, Sets и пространству.
Particle data от pEmitter, pImageEmitter, pMerge или другой particle-ноды.
pFriction
Обзор
Что делает pFriction
pFriction — particle-модификатор Fusion для сопротивления движению. Он ставится после pEmitter или других force/modifier-нод и до pRender, получает существующий particle-stream и постепенно уменьшает его линейную и/или вращательную скорость.
Velocity Friction воздействует на Velocity частицы. Чем выше значение, тем сильнее сопротивление и тем быстрее частица теряет скорость. Это не мгновенный Stop и не ограничение максимальной скорости: pFriction именно демпфирует уже имеющееся движение во времени.
Spin Friction отдельно воздействует на Rotation/Spin. Частица может заметно замедлить полёт при высоком Velocity Friction, но продолжать вращаться при низком Spin Friction — и наоборот. Поэтому эти два controls нужно настраивать раздельно.
pFriction особенно полезна после pDirectionalForce, pTurbulence, pVortex и других нод, которые сообщают или меняют скорость. Force создаёт/изменяет движение, а pFriction отнимает часть его энергии и помогает системе не разгоняться или не сохранять движение бесконечно.
Random Seed/Randomize относятся к воспроизводимой случайной составляющей particle-расчёта. Пока вы настраиваете сам характер friction, лучше держать seed фиксированным, чтобы новая случайная выборка не маскировала влияние Velocity/Spin Friction.
Conditions → Probability ограничивает шанс применения поведения. Как и в других particle nodes, Probability вычисляется для каждой частицы на каждом кадре: 0.6 не означает один навсегда выбранный набор из 60% particles.
Start/End Age задаёт нормализованную долю lifespan, а не номера кадров таймлайна. Например 0.5–1.0 позволяет оставить первую половину жизни свободной, а во второй постепенно включить сопротивление.
Set Mode и Set 1–32 работают как фильтр уже назначенных particle Sets. Sets создаются upstream — например pEmitter, pImageEmitter, pChangeStyle или pSpawn; сама pFriction их не назначает.
Region Mode и Region — отдельные понятия. Region Mode отвечает за условие применения относительно области: ignore, intersecting, inside, not intersecting, not inside, entering или leaving. Region выбирает саму геометрию области.
All, Bezier, Cube, Line, Rectangle и Sphere — встроенные Regions. Они создаются внутри pFriction и не требуют второго кабеля. Поэтому обычная цепочка pEmitter → pFriction → pRender корректна даже при spatial gating встроенной Sphere или Rectangle.
Bitmap и Mesh — исключения: при их выборе появляется дополнительный dynamic Region input. Bitmap принимает 2D image/выбранный channel, Mesh — 3D mesh. Это Region data, а не обычный Effect Mask и не particle-stream.
Для Mesh Region доступны общие particle Region controls: выбор surface/volume, winding-настройки для определения inside/outside и ограничение ObjectID. Эти параметры относятся к геометрии spatial gate, а не к величине friction.
Line Region задаётся двумя XYZ-точками; Rectangle остаётся плоской областью без собственной глубины, тогда как Cube, Sphere и Mesh позволяют строить объёмные 3D-зоны. В 3D-системе обязательно проверяйте Z, а не только проекцию X/Y.
Region может использоваться как локальная вязкая среда: частицы летят свободно снаружи, начинают терять Velocity/Spin внутри области и после выхода продолжают движение уже с уменьшенной скоростью. Для такого эффекта особенно важно смотреть playback, а не одиночный кадр.
pFriction не 'притягивает' частицы и не задаёт направление. Если нужно создать ускорение, используйте force-ноду; если нужна цель — pFollow/point-like force; pFriction только уменьшает уже существующие Velocity и Spin.
Output pFriction остаётся типом Particles. Никакого RGBA-изображения нода сама не создаёт; видимый результат появляется downstream через pRender, после чего его уже можно Merge/Glow/ColorCorrect и выводить в MediaOut.
Оценивать friction нужно во времени. При малых значениях разница на соседнем кадре может быть едва заметна, но накопиться за десятки кадров; при слишком больших — поток может быстро потерять динамику. Сравнивайте одинаковый playback range при изменении одного параметра за раз.
Когда применять
Мягко погасить скорость частиц после резкого pEmitter или force-импульса.
Убрать бесконечное ускорение/разлёт после pDirectionalForce, pTurbulence или pVortex.
Отдельно успокоить вращение Bitmap/Brush/Line particles через Spin Friction.
Сымитировать сопротивление воздуха, вязкость или движение в плотной среде.
Включить торможение только на поздней стадии lifespan через Age.
Тормозить только отдельные particle Sets.
Создать локальную зону замедления внутри Sphere/Cube/Rectangle или внешнего Bitmap/Mesh Region.
Сделать entering/leaving/intersection-triggered spatial damping.
