I ended up achieving it by generating that index number through a slider on the layer, like this:
m = marker;
n = 0;
moveTime = .2;
mNumber = m.numKeys;
indexNumber = effect("index number")("Slider");
innerMessageHeight = comp("Messages_Comp").layer(index=indexNumber).sourceRectAtTime().height;
moveAmt = innerMessageHeight;
if (m.numKeys > 0){
n = m.nearestKey(time).index;
if (time < m.key(n).time) n--;
}
if (n > 0){
t = time - m.key(n).time;
value + [-(n-1)*moveAmt-ease(t,0,moveTime,0,moveAmt)];
}else
value
And, it’s working like I want it to, but for some reason, it’s losing steam (so to say). Every movement after the first is just a little a little short. I can’t quite figure out why.
Here’s a quick render to show you what I mean:
https://www.dropbox.com/s/wez3nzb69jdrb7q/convo_comp_issue.mp4?dl=0
Any thoughts as to why that might be happening?
Also, again – thank you so much Dan! It’s surreal to be getting your help on this and super appreciated.