Activity › Forums › Adobe After Effects › Animating Eyebrows
-
Animating Eyebrows
Posted by Sofia Vermes on September 9, 2017 at 6:37 pmHello all,
I’m trying to animate a face, and as a part of that I want to link the rotation of the eyebrows to the path of a null object, so that when i move said null up and down, the eyebrows change angles following it. I don’t know if that’s possible, but if it is, i’d greatly appreciate the help!
Thanks in advance.
Sofia Vermes replied 9 years ago 3 Members · 11 Replies -
11 Replies
-
Sofia Vermes
September 10, 2017 at 9:38 pmOk, sorry about leaving out all that information. It’s a vector cartoon face. Totally flat. I’m planning on making different gifs with it.
As to my experience, I’m not a total noob but i’m far from being an expert, obviously. But I’m fairly confident that I can understand the standard AE nomenclature.
Again, thanks in advance.
-
Kevin Camp
September 11, 2017 at 6:15 pmyou would do it with expressions….
select the rotation property of one of your eyebrows and choose animation>add expression.
then add this expression to the expression field:
target = thisComp.layer("Null 1");
p = target.position - position;
radiansToDegrees( Math.atan2( p[1], p[0] ) );
change the name of the null (in the example “Null 1”) to the name of your null you want the eyebrows to track.assuming that the eyebrow’s anchor point is positioned near the cuter of the eyebrow, as you move the null, the eyebrow should track its movement.
right-click the rotation property of that eyebrow and choose copy expression only. then select the other eyebrow and choose paste.
both eyebrows should track the null’s position.
Kevin Camp
Art Director
KCPQ, KZJO & KRCW -
Sofia Vermes
September 11, 2017 at 8:23 pm -
Kevin Camp
September 11, 2017 at 8:43 pmit could be that your eyebrows already have an angle other than 0, or parenting is messing with the math… try changing the last line to this:
radiansToDegrees( Math.atan2( p[1], p[0] ) ) + value;
it should add any current angle value to the calculated value… it will also allow you to fine tune the angle by simple dragging the rotation value to get it to line up correctly.Kevin Camp
Art Director
KCPQ, KZJO & KRCW -
Sofia Vermes
September 11, 2017 at 11:00 pmThat did allow me to fine tune the rotation, and it is reacting to the position of the Null, but it’s not following its position.
-
Timoteo Fontanella
September 12, 2017 at 12:22 amHi Sofia,
I suggest you Joystick’n slider plug-in. It’s very powerful for character rigging and it works very well in addition to duik and puppet pins. In short, it allows you to control every single element of the face in the way you’re looking for.
In this video tutorial you can see how it works
I personally use it and I like it, that said it takes me some time for practicing. and the plugin is not for free -
Sofia Vermes
September 12, 2017 at 3:42 amThanks Timoteo! It’s no exactly what I was thinking of, but I think it’s even better, in the long run. Once I learn to use them, I mean. So really, thanks a lot.
-
Timoteo Fontanella
September 12, 2017 at 3:24 pmYou’re welcome, I hope it will be useful for your work.
-
Kevin Camp
September 12, 2017 at 9:50 pmThere may be some parenting issue… it sounds ike you have a solution, but let me know if you want to continue troubleshooting the expression. it might help me if you could send a screen shot of your timeline showing the eyebrow layers and the parenting column.
if you just wanted to see how it should work, simply create a rectangular solid that is about the size of one of the eyebrows, add the expression and see if it tracks the null you currently have.
Kevin Camp
Art Director
KCPQ, KZJO & KRCW -
Kevin Camp
September 12, 2017 at 9:56 pmi just tested this out with eyebrows that were parented to a face and it seems to work for me…
here’s the new expression:
target = thisComp.layer("Null 1");
p = target.position - toComp( anchorPoint );
radiansToDegrees( Math.atan2( p[1], p[0] ) ) + value;Kevin Camp
Art Director
KCPQ, KZJO & KRCW
Reply to this Discussion! Login or Sign Up
