Wave Path

Wave Path is a preset that provides a moving wave path that you can pin at the ends. Similar to applying the native Wave Warp effect to a straight line, but without the nasty distortion.
Wave Path is available as a direct download, here.



Copy the .ffx file into the User Presets folder, located here:
OS X: ~/Documents/Adobe/After Effects <version>/User Presets
Windows: My Documents\Adobe\After Effects <version>\User Presets
In After Effects click on Window > Effects & Presets panel if it isn't already open, and click on it’s context menu and then select Refresh List
Wave Path should then be available under *Animation Presets > User Presets.
Double click on it to make a new Wave Path in the current composition.
You can also use Wave Path with KBar for a streamlined workflow.
If you have a shape layer already selected when you apply the preset it will be applied to that layer.


No. of waves
The number of complete waves from one end of the path to the other. You can set this to fractions such as 0.65 etc
The total length between one end of the path to the other, in pixels
The height of each wave, in pixels
The number of complete wave cycles, per second.
An amount to offset the wave cycles. You can use this to control where the wave peaks occur along it's length. Or, with Speed set to zero, animate the Offset value for greater control of the wave's progression over time.
The total number of points used in the path (higher numbers can slow down your computer)
You can pin the Start and/or End of the path. Pin Amount is the degree of pinning (100% will mean the tip of the path is fixed in place whilst 0% would mean no pinning occurs). Pin Length is the proportion of the total path length over which the pinning falls off.

Tips + FAQ

You can often use quite low resolution settings to speed things up because Wave Path uses Round Corners to smooth out it’s appearance.
The middle of the path can be affected by both Start and End pinning. If the Pin Lengths overlap, you may need to increase the Height property to compensate.
Add a Zig Zag or Wiggle Paths operator for extra fun. Or a Stroke Taper or Wave.
Want to attach another layer to the end of the wave path? Try this expression on that layer’s Position property:
myWavePathLayer = thisComp.layer("Shape Layer 1") // This needs to be your Wave Path layer
myWavePathLayer.toComp([0,0]) + myWavePathLayer.content("Path 1").path.pointOnPath(1)

Version History

1.0 - August 9th 2022

Initial release