FORUMS: list search recent posts

Special Auto Lip Sync

COW Forums : Adobe After Effects

<< PREVIOUS   •   FAQ   •   VIEW ALL   •   PRINT   •   NEXT >>
Ángel Molina López
Special Auto Lip Sync
on Feb 2, 2019 at 3:18:42 pm

Hi everybody:

I want to make a Dorkly animation (https://www.youtube.com/watch?v=ZVTLsQ8iNCM), that is, 8-bit puppets opening and closing their mouths. The difference I want to add is when the mouth is open the puppet get stretched (scaled) in the Y axis and when is closed the puppet returns to its original size. I have managed to get a semi-automatic sync method but it still takes up too much time. Can you think of any automatic or quasi-automatic method? I've seen things get done with Adobe Character but I don't know if it would work with the scale issue.

Regards and I hope I made myself clear.


Return to posts index

Kalleheikki Kannisto
Re: Special Auto Lip Sync
on Feb 3, 2019 at 9:39:27 am

You can use audio to keyframes result with a simple piece of expression code that sets the threshold of when to stretch the pixels.

Kalleheikki Kannisto
Senior Graphic Designer


Return to posts index

Ángel Molina López
Re: Special Auto Lip Sync
on Feb 6, 2019 at 4:09:12 am

Thank you for your replies. Kalleheikki, the technique you have spoken of is the one I'm using now, but I was looking for something more automated. I've been searching and I think I've found a way. Lars is a genius (https://vimeo.com/220359572) and has made an expression that allows the transfer of keyframes from CA (Character Animator) to AF and it works perfectly well. It saves you a lot of time.

Now, the scale problem. I've assigned a null that responds to the values adopted by the mouth so I tasked it when the mouth is open, the puppet stretches. To do this, I've used the following expression:

x=thisComp.layer("SIDE MOUTH GREEN").effect("LJ - visemes - MSD")("viseme nr.")
if(x==1)[148,199];
else if (x==3) [148,199];
else if (x==7) [148,199];
else if (x==10) [148,199];
else if (x==11) [148,199];
else [148,189];

The problem is as follows. When there are two consecutive sounds that are equivalent to an open mouth (FOR - GO - tten), the puppet doesn't move and that's a pretty dull stuff. What should be said to AF is: if after an open mouth value goes another open mouth value, on the changed value disable the stretching for X time. What'd be the expression that would be needed to achieve that? I know I could do it manually but I want to broaden my skills.

Thank you in advance.

PS: Is there any way to shorten the expression I have written?


Return to posts index

<< PREVIOUS   •   VIEW ALL   •   PRINT   •   NEXT >>
© 2020 CreativeCOW.net All Rights Reserved
[TOP]