Morgan, if I understood requirements correctly (that this should be controlled by keyframes of a text position keyframes), then this applied to ‘Shape’s size should be sufficient.
inDelay and outDelay are meant to control the gap from 1st and 3rd keyframes of position animation. Meaning, you could affect this linking it to a slider.
xSize and ySize are the sizes of line, pre-defined. You could also link them to slider to have a bit of extra control.
In case if its not what was needed, let me know and probably it could be tweaked to match the needs. Cheers.
xSize = 8; // Feel free to link these to sliders
ySize = 60 // Feel free to link these to sliders
startIn = thisComp.layer(index+2).transform.position.key(1).time;
startOut = thisComp.layer(index+2).transform.position.key(2).time;
endIn = thisComp.layer(index+2).transform.position.key(3).time;
endOut = thisComp.layer(index+2).transform.position.key(4).time;
inDelay = .5; // Feel free to link these to sliders
outDelay = .5; // Feel free to link these to sliders
animDur = 15 * thisComp.frameDuration;
if (time < startOut){
lineIn = startIn- inDelay;
lineOut = lineIn + animDur;
y = easeIn(time, lineIn, lineOut, 0, ySize);
} else if (time > endIn){
lineIn = endIn + outDelay;
lineOut = lineIn + animDur;
y = easeOut(time, lineIn, lineOut, ySize, 0);
} else{
y = ySize;
}
[xSize, y]
Find out more:
After Effects Tutorials: motion design, expressions, scripting.
Boxer – Dynamic Text Boxes Template with a Live Preview
Social Media Profiles