Creative Communities of the World Forums

The peer to peer support community for media production professionals.

Activity Forums Adobe After Effects Animating Eyebrows

  • Animating Eyebrows

    Posted by Sofia Vermes on September 9, 2017 at 6:37 pm

    Hello 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 pm

    Ok, 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 pm

    you 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

    I did as you said, but it turned out like this. Am I doing something wrong? I tried playing with the anchor points, but it still did the same.

  • Kevin Camp

    September 11, 2017 at 8:43 pm

    it 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 pm

    That 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 am

    Hi 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 am

    Thanks 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 pm

    You’re welcome, I hope it will be useful for your work.

  • Kevin Camp

    September 12, 2017 at 9:50 pm

    There 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 pm

    i 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

Page 1 of 2

We use anonymous cookies to give you the best experience we can.
Our Privacy policy | GDPR Policy