- December 7, 2020 at 12:57 pm
I’m looking to delay / offset the start frame of the Posterize Time effect. (not expression)
5 fps Posterize Time effect. 25 fps comp.
The reason for this is I want the stop motion animation to have more of a flow instead of all layers changing frame on 0,5,10,15,20.25 etc…
It’d be great if:
Layer A changed frame on 0,5,10,15,20,25 etc…
Layer B changed frame on 2,7,12,17,22,27 etc…
Layer B changed frame on 4,9,14,19,24,29 etc…
Any help would be greatly appreciated!
- December 7, 2020 at 2:29 pm
Well, I see that you indicate in your post that you’re not looking for an expression, but expressions would really help you here. Put those in and play around with the numbers in the parentheses. Using the posterizeTime() expression keeps you from having to use the Posterize Time effect which can mess with other effects.
Layer A timeremap could be
Layer B timeremap could be
Layer C timeremap could be
- December 8, 2020 at 11:18 am
Thats really helpful. I’ll use expressions instead, I didn’t know you could add posteriseTime to timeremap.
Ideally I’d want all layers to be 5 fps, is there a way of offsetting each layer by a different value so that the layers will be changing frame on different frames? I appreciate your suggest would do this but I’m wondering if it’s possible to maintain the 5 fps?
- December 11, 2020 at 1:17 am
So sorry. I haven’t had time to look at this again. I actually think you might need to precomp and offset the layers in time if you want to have the all at 5 fps but offset.
- December 15, 2020 at 12:29 pm
No worries! Thanks for your help.
I’ve taken your advice on using different values and created this which works well:
- December 15, 2020 at 1:20 pm
That’s pretty awesome! I hope it looks good for you!
- December 15, 2020 at 4:21 pm
I encountered the same problem and managed to write a custom posterizeTime() expression.<div>
Just use .vaueAtTime(newT); on your desired property.
newFramerate = 5; and frameOffset = 2; will change the values on frame 2, 7, 12, 17, 22, …
I hope that works for you, too!
// Custom posterizeTime()
// Use .valueAtTime(newT) on your desired property
// and set your new frame Rate and your Offset value
var newFramerate = 5; //set your new Framerate in frames per second here
var frameOffset = 2; //set your offset in frame here
var frameRate = 1/thisComp.frameDuration;
var t = (time*frameRate);
var newT = Math.floor((t-frameOffset)/(frameRate/newFramerate));
newT = newT*(frameRate/newFramerate) + frameOffset;
newT /= frameRate;
- January 13, 2021 at 2:37 pm
Ah! AMAZING! Thanks Jacob, this is so helpful.
Exactly what I needed. 🙂
- January 13, 2021 at 2:51 pm
Log in to reply.