Links

🌊 Wave Path

Wave Path is an After Effects script 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.
Wave Path was previously available as an Animation Preset or .FFX file. If you already have this older version, consider downloading it again and installing the newer and more reliable script version instead.

Examples

Installation

Wave Path runs as a ScriptUI Panel with a button if you install it like this:
Quit After Effects if it is running. Move the file "Wave Path.jsxbin" to your “ScriptUI Panels” folder, which is located here:
Windows: Program Files\Adobe\Adobe After Effects <version>\Support Files\Scripts\ScriptUI Panels
Mac OS: Applications/Adobe After Effects <version>/Scripts/ScriptUI Panels
Launch After Effects and click Window > Wave Path.
You can also run Wave Path straight from the Scripts folder, or from a launcher utility like K Bar, and in both those cases it’ll just do it’s stuff with no panel.

Usage

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
Length
The total length between one end of the path to the other, in pixels
Height
The height of each wave, in pixels
Speed
The number of complete wave cycles, per second.
Offset
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.
Resolution
The total number of points used in the path (higher numbers can slow down your computer)
Pinning
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

2.0.1 - December 7th 2022

Updated expression

2.0 - December 7th 2022

Initial release as script.
Expression syntax updated to provide compatibility with legacy extendscript

1.0 - August 9th 2022

Initial release as animation preset