Hey John, thanks for confirmation. Actually, I just tried to test this alone based on information provided, with some markers in comp as well as layer markers. Here is what I get, the same way as I ‘debugged’ it in my mind:
When this case happens: else if (time < t2) { t = linear(time,t1,t2,t1,p.marker.key(m2).time) }
1. Interpolation is introduced. t becomes a numeric value from interpolation. Meaning, if t1 is at 1st second, interpolation actually returns value in the range of [1..p.marker.key(m2).time].
2. Here is what I don’t understand here – what opacity values you are actually getting in such case.
Maybe my setup of marker timestamps just didn’t match the logic you have, but this turns out to be wrong opacity interpolation on my end.
As a side note, I would strongly recommend writing expressions with full syntax. Of course its a matter of preference and getting used to it, but readability is clearly more better from a first sight ????
On a different note, sometimes it is easier to apply ‘Distort > Transformation’ to have another level of control via different transformation option (where you could apply different controllers over it). Its a workaround though 🙂
Find out more:
After Effects Tutorials: motion design, expressions, scripting.
Boxer – Dynamic Text Boxes Template with a Live Preview
Social Media Profiles