Skip to main content
Inspiring
August 13, 2021
Question

How to alternate between two states using expressions

  • August 13, 2021
  • 1 reply
  • 180 views

//Alternate between two states for any given duration respective of the inputs. This requires two inputs; preferably slider controllers, called "Time A" and "Time B" on a layer called "Control".

 

t = time;
a = thisComp.layer("Control").effect("Time A")("Slider");
b = thisComp.layer("Control").effect("Time B")("Slider");
y = b/a + 1; //fancy math so the slider numbers match the time in seconds.
z = a * y;

if(t % z < a)
"state 1";
else
"state 2";

This topic has been closed for replies.

1 reply

Mylenium
Legend
August 14, 2021

And what exactly is the problem? What are your "states" supposed to be?

 

Mylenium

Inspiring
August 16, 2021

I just discovered how to alternate between two states using expressions and I wanted to share. But my math is overly complicated (a result of initially not caring how long the second state lasted). It should be:

 

t = time;
a = thisComp.layer("Control").effect("Time A")("Slider");
b = thisComp.layer("Control").effect("Time B")("Slider");
x = a + b;

if(t % x < a)
"state 1";
else
"state 2";

 

Seems super obvious now that's it's done... ¯\_(ツ)_/¯