-
Expression happening *before* keyframe problem
Greetings! I was hoping you all might be able to help me with something that has made me tear my hair out.
First a disclaimer: I am not very skilled at expressions.
In any case, the problem. I have some eyes that I animate to blink using sliders in null objects. The null for the right eye is named “oog R CONTROLLER”.
The white of the eye I animate using scale. So at 1 the eye is closed, at 100 it’s open, at 150 it’s *really* open. I put this expression on scale:
a = thisComp.layer("oog R CONTROLLER").effect("Slider Control")("Slider");
[100, a]Then, the eyelashes are pre-composed. In this pre-comp I animated them using puppet pins. At the 1st frame the lashes are closed, at the 100th frame they are open, and at the 150th frame they are *really* open. Then I time remapped this comp and used this expression on the remap:
a = thisComp.layer("oog R CONTROLLER").effect("Slider Control")("Slider")
framesToTime(a)So, in theory: if the slider value is at 1 both the white of the eye and the lashes will be closed, at 100, open, at 150 really open.
However, please take a look at what actually happens with the right eye when I go through the keyframes of my slider null. The first keyframe has a value of 100, the second 2, and the third 99.:

In the 2nd image the CTI hasn’t even gone past the keyframe yet and the slider value is still at 100, but the eye is already closing! In the 4th and 5th image things really get funky as now the white of the eye and eyelashes move independently from each other, even though they are linked to the same slider value!The issue sometimes goes away when I pick a different value for the slider, for instance 99 or 101 in stead of 100 – but that does not always help. Worse, keyframes that were perfect in the past can get this problem later anyway.
Can someone perhaps help me out? I sure hope so! Thank you very much in advance.