When working with 3D geometry like particle systems, it’s common to use a trailing effect of some variety to showcase the motion of the particles over time. In some cases, this is accomplished with post-processing effects like video feedback, and in others it is achieved at the geometry level. In TouchDesigner, creating trails at the geometry level was previously only possible with the Trail SOP. Now, the Trail SOP’s functionality has made its way to the new POP family in the form of the Trail POP. In this post, we’ll take a detailed look at the Trail POP, exploring how each parameter impacts the resulting geometry.
What is the Trail POP?
The Trail POP can be used to create a history of a point’s movement over time, as it creates a line strip for each incoming point. The longer that the Trail Length parameter is set, the more points will be added to the line strip, resulting in (you guessed it!) a longer line.
As with the Trail SOP, the Trail POP can accept any kind of geometry (from points to surfaces to 3D shapes) and has a variety of options for connecting the trail geometry that it generates.

In this first example, we have a single point that’s being transformed by a collection of LFO CHOPs. For rendering, we’re using a Line MAT to be able to render lines or points.
Initially, the Trail POP has its Connectivity parameter set to None, so rather than a Line Strip of connected points, the Trail POP simply outputs the points.
By setting the connectivity to its default setting of Rows, the line strip we mentioned earlier is generated instead. If we turn off the rendering of points in the Line MAT, we can get a smooth line that traces the point’s motion. Nice!
Now, let’s have a look at the parameters the Trail POP contains!
Trail POP Parameters
Trail Length
The Trail Length parameter, as you might expect, allows you to adjust the length of the trail, or in other words the number of frames that it will use to generate the trail. The parameter can be set to use either seconds or frames. With the setting of 1 second for the Trail Length (and a project framerate of 60 FPS), the Trail POP will generate 60 points based on the position of the input point over the last 60 frames.
Trail Increment
The Trail Increment skips a number of frames when building a trail. It’s useful for reducing the number of points in the trail without impacting its length.
Age Attribute
The Age Attribute setting is a new one for the POP family, and is very useful! It assigns an age attribute to each point, which allows to use the age of the points to drive additional processing. In this case, we’ve used it for applying color to the trail.
Oldest Point First
Oldest Point First will sort the points by their age, oldest to newest. By default, points will be sorted from newest to oldest.
Fill Missed Frames
Fill Missed Frames allows for the Trail POP to gracefully deal with the moments when your project drops frames. Normally, you’ll see a gap in the trail when this happens, but this function keeps things smooth.
Check out the example on the left above: the frame rate has dropped from 60 to around 30 FPS and the Fill Missed Frame parameter is turned off. There are lots of uneven gaps in the trail. On the right, the Fill Missed Frame parameter is turned on, and even with the significant frame drops the trail is smooth!
Get Our 7 Core TouchDesigner Templates, FREE
We’re making our 7 core project file templates available – for free.
These templates shed light into the most useful and sometimes obtuse features of TouchDesigner.
They’re designed to be immediately applicable for the complete TouchDesigner beginner, while also providing inspiration for the advanced user.
Match by Attribute
The Match By Attribute parameter may not be immediately obvious, so let’s take a look at a specific example where it comes in handy. Let’s say you’re using a Particle POP as the input for the Trail POP, and want to draw line trails for each particle rather than just points. If you use the Trail POP’s default settings, and try one of the Connectivity options, you’ll end up with something like the output above. Cool, for sure, but not exactly a single line trail per particle!
By turning on the Match by Attribute parameter, and choosing the Id attribute (which is a unique ID number assigned to each particle in the system), we can instead achieve the result we were looking for. Note that when using the Match by Attribute parameter, the Connectivity, Closed, and Fill Missed Frames parameters are unavailable.
Connectivity
The Connectivity parameter allows you to decide how the geometry that the Trail POP outputs will be connected. This includes the usual Row, Column, Rows and Columns, Triangles, Alternating Triangles, and Quadrilaterals options. Choosing None will output points, as seen in the first example. Triangles, Alternating Triangles or Quadrilaterals can be a great option if you’re looking to generate smoothly shaded geometry rather than separate lines.
Closed
The Closed parameter allows for the generation of closed geometry. Using the first example with the single line strip, this will cause the last point to be connected to the first point.
Transform
Last but not least, the Transform parameters! These are separated out onto their own page in the Trail POP, and allow for typical 3D transformation and rotation of the trail geometry. This can add some interesting additional movement to the trail.
Wrap-Up
That’s a wrap! As you can see, the Trail POP can produce a variety of interesting results, regardless of the geometry you send into it. We hope that this post has gotten you excited to work with the Trail POP and, of course, the POP family as a whole!