FORUMS: list search recent posts

nested 2 leves problem when keyframing expression not working

COW Forums : Adobe After Effects Expressions

<< PREVIOUS   •   FAQ   •   VIEW ALL   •   PRINT   •   NEXT >>
domingo escalante
nested 2 leves problem when keyframing expression not working
on Aug 29, 2016 at 1:39:53 pm

Hello, i got 3 comps
1) Mouth -> secuence layers of mouth (7 frames)

2) Face -> a mask face video with the "Mouth" precomp in, tracking a null cuz the face video moves and the mouth precomp has "time remaping" linked to a control slider in the Main_comp

3) Main_comp -> a background video with the "Face" precomp inside.

In the Main_comp I have the "Face" Precomp divide in 3 instances because the face spawn in few shoots not the entire timeline besides they follow diferents nulls and i have a null control slider (the mouth has linked to it), the 3 instances Face precomp i make it "freeze frame" and i move the slider and the mouth moves with no problem. but when i keyframe the slider to change the mouth for make it smile when timeline its on face instance 1 and sad in instance 2 etc it dont works, it only works the keyframing when i delete in the 3 instances the "freeze frame". but if i do that the face moves

i notice the inPoint working better than startTime expression

pls help me, hope u can understand or tellme to correct my english

t = comp("Main_comp").layer("Face").inPoint
comp("Main_comp").layer("control").effect("Slider Control")("Slider").valueAtTime(t+time)

Return to posts index

David Conklin
Re: nested 2 leves problem when keyframing expression not working
on Aug 29, 2016 at 5:14:28 pm

Hey there.

It seems like you have a somewhat complex system. I think posting your project file (if you're able to) might help us see the specifics. It's hard to say what the issue may be, but I have a guess.

Inside of your 'face' comp, the expression you've written references the layer 'Face' in order to find the current time. t=comp("Main_comp").layer("Face").inPoint However, you have 3 layers named 'Face.' I think this is confusing the expression. The 'Face' comp doesn't know you have 3 instances of it in the Main_comp, and that expression is evaluating based on the inPoint of the top most 'Face' layer only. This means that the 't' in your expression is equal to about 21 seconds, and therefore not working properly for layers that exist before 21 seconds.

I think if you used just one 'Face' layer and started it at frame 0 it would work more correctly. You can always hide the mask in the shots where it's not needed by keyframing the opacity. The other option would be to triplicate the 'Face' comp into 'Face-Sh01,' 'Face-Sh02' and 'Face-Sh03' and then change your expression inside each of those comps to be more explicit. Something like t=comp("Main_comp").layer("Face-Sh02").inPoint

I am not 100% sure that this is causing your issue, but I think the expression in the 'Face' comp is getting confused because there are 3 layers called "Face" in your "Main_comp."

Give that a try and see if it works. If not, maybe a file or any other info you can give might help us to find a solution.

Best of luck!

David Conklin

Return to posts index

domingo escalante
Re: nested 2 leves problem when keyframing expression not working
on Aug 29, 2016 at 10:03:25 pm

ty dan ur my friend.. well i ended duplicating the face comp like 15 times at the project panel and changing the expression inside each face. i cant make 1 instance face work because i have few nulls tracks , i though i could do it they way i tought

understanding the whole project, how would you do it?

i almost bring the layers inside face comp to the main and leave behind the precomp :'/

ty for ur reply

Return to posts index

<< PREVIOUS   •   VIEW ALL   •   PRINT   •   NEXT >>
© 2018 All Rights Reserved