Advect T3D¶
Summary¶
The Advect T3D moves particles along the flow in a velocity volume, such as the velocity output of fluid. Particles
come as a 2D TOP (one per pixel, RGB = position) or as a POP, or both. Each cook moves every particle by the velocity
at its position times Step Size, sampling the velocity four times along the step (Runge–Kutta, 4th order), so
particles follow swirling flow without drifting outwards. Feed the TOP output back through a Feedback TOP, or cook the
POP every frame, to keep them moving.
Particles live in world space, and the volume is placed there by a T3D Transform Reference (the operator the velocity came from, or any operator that exports the mapping), a Matrix, or the Transform page: one unit wide, centred on the origin, with the volume's proportions. See Coordinates and units. Outside the volume the velocity follows Input Extend Mode.
Parameters - Advection Page¶
Step Size Stepsize - Scales the step: each cook moves a particle by velocity × Step Size, integrated with four velocity samples (Runge–Kutta, 4th order) so particles follow curved flow accurately.
Output Value To Attribute Outputtoattribute - Name of a POP attribute that receives the velocity used for the step. In 1.14 it holds the Runge–Kutta sum, six times the step's mean velocity.
Parameters - Transform Page¶
T3D Transform Reference T3dtransformreference - An operator that exports the mapping between the volume and world space (geo_to, point_cloud, metaball, sprinkle, or another advect). The velocity volume is then placed where that operator's volume is, and the Transform page is ignored.
Matrix Values Matrix - A 4 × 4 matrix, as 16 numbers separated by spaces, placing the volume in world space. Used instead of the Transform page when set.
Transform Order Xord ⊞ - Order in which scale, rotate and translate place the volume, when neither a reference nor a matrix is set.
- Scale Rotate Translate
srt - Scale Translate Rotate
str - Rotate Scale Translate
rst - Rotate Translate Scale
rts - Translate Scale Rotate
tsr - Translate Rotate Scale
trs
Rotate Order Rord ⊞ - Order of the rotations.
- Rx Ry Rz
xyz - Rx Rz Ry
xzy - Ry Rx Rz
yxz - Ry Rz Rx
yzx - Rz Rx Ry
zxy - Rz Ry Rx
zyx
Translate Tx Ty Tz ⊞ - Position of the volume's centre in world space.
Rotate R1 R2 R3 ⊞ - Rotation of the volume in world space, in degrees.
Scale Sx Sy Sz ⊞ - Scale of the volume in world space. At 1 the volume is one unit wide, with its proportions.
Pivot Px Py Pz ⊞ - Pivot of rotation and scale.
Uniform Scale Scale - Uniform scale, multiplied with Scale.
Display Bounds Displaybounds - Draws the volume's box and the particles in the operator's viewer.
Input Extend Mode UV Inputextenduv ⊞ - What the velocity volume returns outside its box: Zero stops particles that leave it, Hold keeps pushing them with the edge velocity, Repeat wraps the flow around.
- Hold
hold - Zero
zero - Repeat
repeat - Mirror
mirror
Version Version - T3D version of this operator. Read-only information; include it when reporting a problem.
Copyright Copyright - Author and licence information. Read-only.
Operator Inputs¶
- Input 0: Positions
in_positions- Particles as a 2D TOP, one per pixel, RGB = x, y, z in world space (32-bit float). Alpha passes through. Feed the output back (Feedback TOP) to keep particles moving from frame to frame. - Input 1: POP
in_pop- Particles as a POP, moved inP(needs a build with POPs). - Input 2: Velocity
in_T3D- The velocity volume: RGB = velocity along X, Y, Z, in world units per step at Step Size 1 (fluid's velocity output fits).
Operator Outputs¶
- Output 0: Positions (TOP)
out_position- The moved positions, alpha unchanged. - Output 1: POP
out_pop- The moved POP.
Performance¶
GPU time when the operator recooks: 0.000 ms at 64³, 0.000 ms at 128³, all of its passes summed (GeForce RTX 4090, TouchDesigner 2025.33230). An operator whose inputs and parameters are unchanged does not recook and costs nothing.