Skip to main content

Oscillator

Intro

Deform and affect Shapes using trigonometric wave patterns.

UI

Common Attributes +

Strength Fade to Zero - When checked, Strength (including Falloffs) will interpolate between 0 and the result. When unchecked it will interpolate between the Minimum and Maximum values.

Use Normals - When checked deformation will be based on the normals of the Shape. When unchecked points are scaled from the middle of the shape (only relevant when used as a Deformer).

Type - Select a type for the wave:

  • Sine - Create a sine wave.
  • Cosine - Create a cosine wave.
  • Tangent - Create a tangent wave.

Wave Style - Select a shape for the wave:

  • Normal - A smooth, curved wave.
  • Square - A square wave.
  • Triangle - A triangular wave.
  • Sawtooth - A sawtooth wave.
  • Custom... - Use the Graph to create a custom wave.

Graph - When Wave Style is set to Custom... use the graph to draw a custom wave. See Common Attributes.

Minimum - Set the minimum height of the wave.

Maximum - Set the maximum height of the wave.

Frequency - Set the frequency of the waves (a higher number will create more frequent waves).

Separate Channels - Generate different values for x and y.

Value Offset - Offset the min/max values.

Time Mode - Determine how the Frequency attribute relates to time (a period is the distance between two peaks of the wave):

  • Seconds - The Frequency value represents periods per second. If Frequency is set to 1 and Time Scale is set to 1, a sine wave will move up and down once every second.
  • Minutes (BPM) - The Frequency value represents periods per minute. If Frequency is set to 60 and Time Scale is set to 1, a sine wave will move up and down once every second.

Time Offset - Offset the animation/time (in seconds).

Time Scale - A multiplier for time.

Stagger - When used with a Duplicator this will stagger the movement in time across duplicates.

Looping

An Oscillator can be set to loop every x seconds using the Time Mode, Frequency and Time Scale attributes. Where a loop is required over a specific period of frames a Math Utility can be used to create a relationship between FPS and time. For example:

  1. Create a Shape.
  2. Right click on the Position attribute > Add Behaviour > Oscillator > Y.
  3. Set the Oscillator's Minimum to -100 and the Maximum to 100.
  4. Create a Math Utility.
  5. Open the Composition Settings and connect the Frame Rate to the Math's First attribute.
  6. Enter a value to represent the number of a frames a loop should take into the Math's Second attribute.
  7. Set the Math's Operation to Divide.
  8. Connect math.idoscillator.frequency.

If the Comp's Frame Rate changes, the Oscillator will continue to loop on the frame number entered into the Math's Second attribute.

Alternatively the Math could be replaced with an Attribute Expression by connecting the Composition's Frame Rate to the Oscillator's Frequency and then adding an Attribute Expression of /32 where 32 is the frame number for the Oscillator to loop on.

info

When connecting an Oscillator to e.g. position.x on a Shape, use Time Scale to speed up the oscillation.