Aller au contenu

pCustom Node

By Kriss Norde

pCustom lets you change every property of particles with scripted expressions: position, velocity, color, size, rotation, age. More powerful than pCustomForce (which is limited to forces) - pixel-perfect control of every aspect. For experienced scripters only.

Overview

pCustom is the most flexible particle node in Fusion. It exposes scripted expressions on every individual property of every particle:

  • px, py, pz (position), vx, vy, vz (velocity).
  • r, g, b, a (color), size, mass.
  • Rotation, age, collision data.

Each expression is evaluated per particle and per frame. Extreme power - at the cost of a steep learning curve.

Where to find this node

  • Effects Library: Tools > Particles > pCustom
  • Quick add: right-click in the Node Editor → Add Tool > Particles > pCustom

pCustom vs pCustomForce

pCustomForce
Only changes the force applied to particles (Force XYZ, Torque). Position and the other properties evolve according to natural physics.
pCustom
Changes every property directly. It can overwrite position, color, size, etc. without going through a force.

Rule: change force/acceleration only → pCustomForce. Full control of properties (color that changes with age, size that follows a formula) → pCustom.

Inputs

  • Particle Input (orange) - particle stream.
  • Image Inputs (green/magenta) - 2D images for per-pixel calculations in expressions.
  • Region Input (teal/white) - area where it applies.

Setup

Color that evolves with age:
pEmitter → pCustom (r = age, g = 1-age, b = 0)
        → pRender
(particles go from red to green over their life)

Oscillating size:
pEmitter → pCustom (size = 0.05 * (1 + sin(age * 10)))
        → pRender

Custom position warp:
pEmitter → pCustom (px = px + sin(py * 20) * 0.01)
        → pRender
(particles deformed along a wave pattern)

Parameters

Numbers 1-8
8 animatable variables you can use in expressions as parameterized constants.
Positions 1-8
8 3D coordinates (X/Y/Z) you can use in expressions. Handy for referencing the positions of tracked objects.
Setup tab
Expressions evaluated once per frame. For reusable global variables.
Intermediate tab
Secondary expressions that reference the results of Setup.
Particle tab
Expressions evaluated per particle. They change the properties (px, py, pz, vx, vy, vz, r, g, b, a, size, etc.).

Use cases

  • Animated color driven by properties - a red particle when young, blue when old, or a color that depends on speed.
  • Oscillating or evolving size - particles that grow and shrink along a mathematical pattern.
  • Precise mathematical trajectories - particles that follow a curve exactly (Lissajous, spiral, etc.).
  • Unique procedural behaviors - custom physics simulations, organic systems, data visualizations.
  • Color sampled from an image - through the Image Inputs, each particle takes its color from an image at its projected position.

Tips

  • The official Fusion docs are essential - exact expression syntax and the full list of variables are in the BMD documentation.
  • Setup tab for optimization - calculations that do not depend on the particle belong in Setup (evaluated once per frame) rather than Particle (once per particle per frame).
  • Very advanced level - pCustom is not a node for beginners. 95% of behaviors can be achieved by combining standard forces.
  • Test with few particles while developing your expressions.
  • For simple but non-standard behaviors, try pCustomForce first (scope limited to forces = fewer errors).