Forum Replies Created
-
It was exactly that! Thank you very much!
-
Thanks for your help everyone. Yeah so it seems like what I want to do is impossible without using scripts. Xavier Gomez, thank you for your suggestion to use one slider. Because the mouth has to side from one position into another I don’t think it would work for my intended purpose.
I did find another way to solve the problem.
I made a shape using pins and uses the sliders to control the position of them. Each pin has a different x and y position for each mouth shape. It works fine although it’s pumped the render time up a little.
Thanks again.
-
Hi Dan
Thanks so much for your help. While looking at your script I looked up some of the terms you used and I wasn’t aware of how to use a for () condition for looping. I played around with it and I managed to re write my original script to get it working the way I wanted. Thanks so much for all your help, I never would have figured it out without your assistance.
i = 1 ;
j = 1 ;
CurrentTime = timeToFrames(time) ;
MouthPosFind = comp("Lipsync_Code").layer("Frames").effect("Frames")("Slider") ;
FramesSinceKey = 1 ;
FramesSinceStart = timeToFrames(time - comp("PUT_LIPSYNC_CODE_IN_HERE").layer("Lipsync_Code").inPoint) ;
FramesUntillKey = 1 ;
FramesUntillEnd = timeToFrames(comp("PUT_LIPSYNC_CODE_IN_HERE").layer("Lipsync_Code").outPoint)-(timeToFrames(time)) ;// find frames since last keyframe ;
for (i = 1 ; MouthPosFind.valueAtTime(time)== MouthPosFind.valueAtTime(time-(framesToTime(i))) ; i++)
{
if(MouthPosFind.valueAtTime(time)== MouthPosFind.valueAtTime(time-(framesToTime(i))))
{
FramesSinceKey++ ;
} ;
if(FramesSinceKey>FramesSinceStart)
{
break
} ;
// code stops the value from going backwards forever in the first few frames ;
} ;
// find frames untill next keyframe ;for (j = 1 ; MouthPosFind.valueAtTime(time)== MouthPosFind.valueAtTime(time+(framesToTime(j))) ; j++)
{if(MouthPosFind.valueAtTime(time)== MouthPosFind.valueAtTime(time+(framesToTime(j))))
{
FramesUntillKey++ ;
}else{break ;} ;if(FramesUntillKey>=FramesUntillEnd)
{
break
} ;
// code stops the value from going backwards forever in the first few frames ;
} ;value = FramesSinceKey -1 + FramesUntillKey ;
-
Hi dan
The Frames layer is in a different Comp and it’s value is set to be the same value of a different layer called Mouth. Mouth is a comp with the time remap. The Frames Slider Effect converts Mouth’s time code value to a frame number (just because I find it easier to work with while numbers than time codes.) -
The slider is controlled by a time remap. It’s for lip sync so the time remap has a key frame on every frame in the composition. Even if the value doesn’t change the program I used automatically makes every single frame into a key frame. Because of this, if I just find the value of the bracket keys it will only go forward one frame and back one frame.
Perhaps it would work if there was some way to loop one part of the code; the final If Condition and it’s result. So it would keep adding +1 to AddFrame until it the last If condition changes to the Else result.
I wonder if there is a code for that. I’ve been looking but ask I can find is an expression that loops key frames.
-
Hi Piotr
When they are selected you should simply be able to click and drag them to wherever you need them.
Hope I helped.
– Levi -
Hi Chris
I’m sort of new to coding in After Effects myself so you’ll have to forgive and answer that will probably turn out to be no help at all.
If Motion blur is turned on at both the layer and composition;
It might be that Motion Blur on your composition is not be set high enough? You could right click on the Comp you are in check it’s Composition Settings and under the ‘Advanced’ tab check that it’s motion blur settings are high enough.
If they are:
Are you able to use a CC Force Motion Blur as an alternative?
Or (and I hate saying this) have you tried restarting AF or your CPU?
As for file collect. I don’t believe that saving updates the collected files. As far as I know you have to do a second file collect to update it.
Hope I was some help.
– Levi