Close

Experimental:Trail POP

Summary

The Trail POP captures and retains all the points of the input for the most recent N frames or N "slices", being a time-history of the input's points. It then optionally creates primitives that connects the points in various ways.

If the number of points of the input is the same for all the slices, then it can easily skin points together using the Connectivity menu, such as maling a line strip for each point over time.

If the number of points is changing per-frame, as it would with a particle system, it can still connect time-related dots by using an Id attribute on the points, and making sure the Id of a particle stays the same through its life. You can select which attribute it co-relates to using the Match by Attribute parameter.

It ignores and does not use the connectivity (primitives) of the input.

If the number of points of the input is the same for all the slices, it adds one new Dimension whose size is the number of slices.

Trail Length can be expressed in Seconds or Frames. Seconds is preferable as it will remain the same if you move the Trail POP to another project with a different frame rate. Trail Increment lets you skip frames - capture a slice every Mth frame.

Reset clears and restarts the trail. Oldest Point First reverses the order of the slices.

The Trail POP deals with frame drops elegantly by (optionally) filling in data for missing frames and creating stand-in slices, and (optionally) tagging each slice with an Age attribute. This can give smoother frame-drop-resistant trail curves.

PythonIcon.pngtrailPOP_Class


Parameters - Trail Page

Active active -

Always Cook alwayscook -

Trail Length length -

Trail Length Unit lengthunit - -
  • S seconds -
  • F frames -

Trail Increment inc -

Trail Increment Unit incunit - -
  • S seconds -
  • F frames -

Reset reset -

Reset Pulse resetpulse -

Age Attribute ageattr - -
  • None none -
  • Seconds seconds -
  • Frames frames -

Oldest Point First oldestpointfirst -

Fill Missed Frames fillmissedframes -

Match by Attribute attrmatch -

Attribute Name attrname -

Attrib is UInt uintmax - -
  • 4 bits UInt (max 16) uint4 -
  • 8 bits UInt (max 256) uint8 -
  • 12 bits UInt (max 4096) uint12 -
  • 16 bits UInt (max 65,536) uint16 -
  • 20 bits UInt (max 1 M) uint20 -
  • 24 bits UInt (max 16 M) uint24 -
  • 28 bits UInt (max 268 M) uint28 -
  • 32 bits UInt (max 4 B) uint32 -

Max Number of Line Strips maxls -

Connectivity surftype - -
  • None none -
  • Point Prims points -
  • Rows rows -
  • Columns cols -
  • Rows and Columns rowcol -
  • Triangles triangles -
  • Alternating Triangles alttriangles -
  • Quadrilaterals quads -

Closed closed -


Parameters - Transform Page

Translate t - -
  • Translate tx -
  • Translate ty -
  • Translate tz -

Rotate r - -
  • Rotate rx -
  • Rotate ry -
  • Rotate rz -


Parameters - Common Page

Bypass bypass -

Delete Input Attributes delinputattrs -


Operator Inputs

  • Input 0: -


Info CHOP Channels

Extra Information for the Trail POP can be accessed via an Info CHOP.

Common POP Info Channels

Common Operator Info Channels

  • total_cooks - Number of times the operator has cooked since the process started.
  • cook_time - Duration of the last cook in milliseconds.
  • cook_frame - Frame number when this operator was last cooked relative to the component timeline.
  • cook_abs_frame - Frame number when this operator was last cooked relative to the absolute time.
  • cook_start_time - Time in milliseconds at which the operator started cooking in the frame it was cooked.
  • cook_end_time - Time in milliseconds at which the operator finished cooking in the frame it was cooked.
  • cooked_this_frame - 1 if operator was cooked this frame.
  • warnings - Number of warnings in this operator if any.
  • errors - Number of errors in this operator if any.


TouchDesigner Build: