Thanks for the nice tutorial, it works perfectly. How would you go about doing this with a null object? so parenting all the layers to one null object so you dont have to write the expression on each layer. Hope this makes sense
Unfortunately I'm not sure this is possible. Each individual layer would need an expression otherwise each layer would simply follow the null object without any delay. If you're looking for an easier way to update how many frames the delay is, then you can add a 'Slider' to a null object (or any other layer), name the Slider 'Delay' and then change the first line in the expression to: delay = thisComp.layer("Null 1").effect("Delay")("Slider"); My layer is named Null 1, so you might need to change this to the name of the layer with the slider effect on. I know this isn't exactly what you were asking for, but if you make the above change before duplicating all your layers, if you then need to alter the delay you wouldn't need to go into every layer's expression to do so.
Thanks for your clear tutorial, but there is a mistake in your below description(//y-position). The y = thisLayer.transform.position.valueAtTime(time-d)[0]; should be y = thisLayer.transform.position.valueAtTime(time-d)[1];
Hey! It may be a little late but you need to change the final line in the script: //y position delay = 5; framerate = 25; n = name - 1; d = n*(delay)/framerate; y = thisLayer.transform.position.valueAtTime(time-d)[0]; [y,transform.position[1]] That way the animation is not going to break but I still couldn't make the delay work 🥲
@antonellapitti676 sorry if this is also late but while reading this I think I know the issue, the second to last line might be wrong. Try this, I'll test this later myself y = thisLayer.transform.position.valueAtTime(time-d)[1]; The [0] should be a [1]
Apologies for the late response. If you're still in need of help, could you please provide more details about the error you’re encountering? A screenshot or a description of the error message would be really helpful in troubleshooting the issue.
Thank you for your video, save me a lot of time! I just had one favor to ask, can you explain how you get into the expression?
option or alt and click the stopwatch
Thanks for the nice tutorial, it works perfectly. How would you go about doing this with a null object? so parenting all the layers to one null object so you dont have to write the expression on each layer. Hope this makes sense
Unfortunately I'm not sure this is possible. Each individual layer would need an expression otherwise each layer would simply follow the null object without any delay.
If you're looking for an easier way to update how many frames the delay is, then you can add a 'Slider' to a null object (or any other layer), name the Slider 'Delay' and then change the first line in the expression to:
delay = thisComp.layer("Null 1").effect("Delay")("Slider");
My layer is named Null 1, so you might need to change this to the name of the layer with the slider effect on.
I know this isn't exactly what you were asking for, but if you make the above change before duplicating all your layers, if you then need to alter the delay you wouldn't need to go into every layer's expression to do so.
Thanks for your clear tutorial, but there is a mistake in your below description(//y-position). The y = thisLayer.transform.position.valueAtTime(time-d)[0]; should be y = thisLayer.transform.position.valueAtTime(time-d)[1];
I caught this too while reading and trying to interpret the code! Glad I get the concept
Thank you for the tutorial! I don't know why, but I've got problem with animation Y-Position. The shape is like stuck.
Hey! It may be a little late but you need to change the final line in the script:
//y position
delay = 5;
framerate = 25;
n = name - 1;
d = n*(delay)/framerate;
y = thisLayer.transform.position.valueAtTime(time-d)[0];
[y,transform.position[1]]
That way the animation is not going to break but I still couldn't make the delay work 🥲
@antonellapitti676 sorry if this is also late but while reading this I think I know the issue, the second to last line might be wrong.
Try this, I'll test this later myself
y = thisLayer.transform.position.valueAtTime(time-d)[1];
The [0] should be a [1]
Thank you for the tutorial but after effect giving error when I am using the script
Apologies for the late response. If you're still in need of help, could you please provide more details about the error you’re encountering? A screenshot or a description of the error message would be really helpful in troubleshooting the issue.