ВИДЕОМОНТАЖЁРDAVINCI RESOLVE · ВИДЕО · AI
Обработка частицFUSION

pGradientForce

Сила по градиенту

pGradientForce читает alpha-градиент отдельного 2D Image input и превращает его в поле ускорения для существующих частиц: положительный Strength ведёт от белого к чёрному, отрицательный разворачивает направление.

Нода в работе
Иллюстрация нодыpGradientForce
РезультатЧастицы

pGradientForce

Обзор

Что делает pGradientForce

pGradientForce — particle force-node Fusion, которая использует пространственный градиент alpha-канала входного 2D изображения как векторное поле. Она не анализирует RGB как обычную картинку и не превращает изображение в частицы: Image input задаёт именно карту, по перепадам alpha которой вычисляется ускорение уже существующего particle-stream.

У ноды два постоянных входа. Оранжевый Particles получает поток от pEmitter, pImageEmitter, pMerge или другой particle-ноды. Зелёный Image принимает 2D image — например Fast Noise, Background с маской или подготовленную карту — и именно этот вход отличает pGradientForce от обычных force-нод.

Смысл поля проще всего представлять как рельеф. Частицы реагируют не на абсолютную яркость alpha, а на её изменение в пространстве: там, где alpha меняется, появляется направление силы. Равномерная alpha-плашка без перепада почти не даёт полезного gradient direction.

При положительном Strength частицы ускоряются вдоль alpha-gradient от высоких значений к низким — от белого к чёрному. Это позволяет сделать эффект движения 'вниз по склону' или вдоль контуров формы, как прямо описывает reference manual.

Отрицательный Strength не просто 'ослабляет' действие. Он разворачивает направление Gradient Force: движение идёт от низких alpha values к высоким, то есть от чёрного к белому. Поэтому знак Strength — полноценный творческий переключатель направления.

Strength определяет величину силы/ускорения. Это не фиксированная скорость: force добавляется к динамике частиц во времени, поэтому результат накапливается. Слишком большой модуль Strength может быстро выбросить частицы из полезной области карты или сделать движение трудно читаемым.

Fast Noise — удобный диагностический source, потому что даёт непрерывные переходы alpha и позволяет сразу увидеть нелинейное движение. Но для production карта может быть любой: мягкий radial gradient, силуэт, текст, distance-like matte или заранее подготовленная animated alpha texture.

Важно различать Gradient Image и Region. Зелёный Image input определяет направление и силу поля через alpha-gradient. Region лишь решает, где и когда pGradientForce разрешено воздействовать. Подключить картинку только как Bitmap Region и оставить основной Image без gradient source — это другая логика и не заменяет поле.

По умолчанию у pGradientForce нет отдельного Region socket: кроме Particles и Image видны только два постоянных входа. Дополнительный Region input появляется динамически только при Region = Bitmap или Mesh.

Built-in Regions All, Bezier, Cube, Line, Rectangle и Sphere создаются внутри ноды. Для них внешний кабель не нужен. Bitmap Region принимает отдельный 2D image/channel, а Mesh Region — 3D mesh; это третий вход, независимый от постоянного gradient Image input.

Conditions → Probability ограничивает шанс применения pGradientForce к eligible particle на каждом кадре. Это не один раз выбранные 60% частиц на весь lifespan: при значении ниже 1 решение участвует в покадровой particle evaluation.

Age Start/End задаёт нормализованный участок lifespan частицы, а не кадры таймлайна. Например 0.3–0.8 позволяет сначала отпустить particle по исходной траектории, затем включить gradient field и снова отключить его ближе к концу жизни.

Set Mode и Set 1–32 позволяют применять force к уже существующим particle Sets. Сами Sets назначаются upstream, например в emitter/change-style/spawn логике; pGradientForce использует их как eligibility filter и не создаёт принадлежность к Set автоматически.

Region Mode задаёт отношение к выбранной области: Ignore, intersecting, inside, not intersecting, not inside, entering или leaving. Region выбирает геометрию. Не путайте это с gradient Image: Region отвечает за spatial eligibility, Image — за gradient vector field.

Bitmap Region полезен, если нужно одним изображением задавать карту силы, а другим — зону разрешения. В таком случае у pGradientForce одновременно подключены зелёный gradient Image и дополнительный dynamic Bitmap Region input, и это нормальная topology.

Mesh Region добавляет 3D spatial gate с common particle Region controls — surface/volume, winding и ObjectID. При этом само gradient field по-прежнему приходит из 2D Image input; Mesh не становится источником gradient vectors.

Порядок соседних force-нод важен для читаемости результата. pGradientForce меняет Velocity, после неё pFriction может демпфировать набранную скорость, pTurbulence — добавлять хаотичность, а другие силы — складываться с текущим движением. Настраивайте их по одной, иначе причинность теряется.

pGradientForce не создаёт RGBA output. После неё всё ещё идёт particle data, поэтому конечный визуальный результат требует pRender. Только после pRender цепочка становится обычным image flow для Merge, Glow, ColorCorrect и MediaOut.

Диагностировать ноду лучше на простой схеме FastNoise → Image, pEmitter → Particles, pGradientForce → pRender. Сначала Probability = 1, полный Age, Ignore Sets и Ignore region, затем меняйте только Strength и alpha-gradient — так проще доказать направление от white→black и black→white.

Если частицы почти не реагируют, сначала проверяйте alpha source, а не сразу повышайте Strength. Частая причина — картинка визуально контрастная по RGB, но с почти постоянной alpha, поэтому поле для pGradientForce фактически плоское.

Если движение выглядит непредсказуемым, временно используйте статичный плавный gradient вместо шумной текстуры. После того как направление и знак Strength подтверждены на простой карте, возвращайте сложный Fast Noise или animated matte.

Для production полезно мыслить pGradientForce как image-driven steering: карту можно проектировать отдельно от particle emission. Это даёт контроль, которого нет у одной Directional Force, потому что направление может меняться по всему кадру и повторять контуры alpha-формы.

Когда применять

  • Заставить частицы двигаться по alpha-рельефу изображения.

  • Направить пыль, искры или точки вдоль контуров формы.

  • Создать image-driven flow вместо одного глобального направления силы.

  • Развернуть поток сменой знака Strength без перестройки карты.

  • Использовать Fast Noise как органическое неоднородное поле.

  • Включать gradient force только на части lifespan через Age.

  • Применять поле только к выбранным particle Sets.

  • Ограничивать действие встроенной Sphere/Rectangle/Cube или внешним Bitmap/Mesh Region.

  • Комбинировать gradient steering с pFriction для контролируемого разгона и damping.