Morgan Butler
Forum Replies Created
-
Morgan Butler
September 25, 2019 at 4:13 pm in reply to: Changing the Start Point of a Shape Layer Size AnimationThanks for all your help Tomas, I’m starting to understand this expression stuff!!!
-
Morgan Butler
September 24, 2019 at 10:33 pm in reply to: Changing the Start Point of a Shape Layer Size AnimationTomas thank you so much for your help!
It’s working and it’s amazing! I’m super appreciative of you taking the time to help me with this!!!
If I could ask for one final favor, I’m going to use the space below to step through the code that you provided if you could please make corrections in my understanding and there’s a few questions in there.
xSize = 8; // Feel free to link these to sliders
ySize = 60 // Feel free to link these to sliders– These are defining the size of the shape, I don’t want to give editors control of the size so I am going to leave them as actual values
startIn = thisComp.layer(index+2).transform.position.key(1).time;
startOut = thisComp.layer(index+2).transform.position.key(2).time;
endIn = thisComp.layer(index+2).transform.position.key(3).time;
endOut = thisComp.layer(index+2).transform.position.key(4).time;– Definitions are being created for startIn, startOut, endIn, and endOut (these could be any names).
– thisComp.layer(index+2) is defining what layer will be effected. However I’m confused here as I keep thinking index+2 will be effecting two layers below where this code is, which is my title text is, could you please clarify this for me?
– transform.position.key(1).time; this is changing the position (and therefor the timing) of the keyframe, 1, 2, 3 and 4 refer to the first, second, third and fourth keyframes of property of the layer being effected.inDelay = .5; // Feel free to link these to sliders
outDelay = .5; // Feel free to link these to sliders– This is what I am asking for control over, but again this is just a definition and inDelay and outDelay could be named anything.
animDur = 15 * thisComp.frameDuration;
– This is the distance between the keyframes that I want to keep and again animDur could be any name. I am a little confused here as to why it couldn’t just = 15 and what the role of thisComp.frameDuration is. Is this because my comp frame rate is 29.97, but if I was to use the mogrt in a 60 fps project, = 15 would yield 1/4 of a second, instead of the desired 1/2 second?
if (time < startOut){
lineIn = startIn- inDelay;
lineOut = lineIn + animDur;
y = easeIn(time, lineIn, lineOut, 0, ySize);
}– So now I think we’re getting to the magic. This whole chunk is going to effect the animation of the line in.
if (time < startOut)
– I think this is saying if the current time (position of the play head) is before the position of the end keyframe of the animation in then we’re going to do the following things.
lineIn = startIn- inDelay;
– Making another definition here based off of previous definitions that were made. This is taking the position of the first keyframe of the animation and adjusting it based on inDelay, which is controlled by a slider.
lineOut = lineIn + animDur;
– Same concept as above but instead of a slider, we are adjusting the last keyframe of the animation in by the 15 frame animation duration I requested.
y = easeIn(time, lineIn, lineOut, 0, ySize)
– Now this is actually transforming the properties of the y axis of the shape, which is how I was originally doing the animation with keyframes. easeIn is a function in After Effects for the Easy Ease In keyframe assistant. But how do you know what four things to put inside the function and in what order?
else if (time > endIn){
lineIn = endIn + outDelay;
lineOut = lineIn + animDur;
y = easeOut(time, lineIn, lineOut, ySize, 0);
}– Same concept as above, except else if (time > endIn) is saying once the play head reaches the first keyframe of the animation out.
else{
y = ySize;
}– Saying to keep the shape’s y axis the same when time is not in those two other situations.
[xSize, y]
– I think this is what is actually creating the values of the shape. xSize is always define as 8 (xSize = 8) and instead of using ySize, which would keep the shape the same size all of the time, we are using the variable y which has three different functions attributed to it based on time.
Overall, my biggest questions are how did you know to use this: transform.position.key(1).time and how did you know what four values needed to go in here y = easeOut(time, lineIn, lineOut, ySize, 0)?
Again thanks so much Tomas!!! I’m going to try to apply what I’ve learned here to control the keyframe of the title on the animation out!
-
Morgan Butler
September 23, 2019 at 8:00 pm in reply to: Changing the Start Point of a Shape Layer Size Animation1. The line’s animation IN ‘can’ always remain the same few frames earlier from text. I say can because aesthetically it doesn’t bother me as much as the animation out. If it’s not too much more difficult, I would like control over when the line animates in in relation to the text layer animation.
2. The line’s animation OUT is what I’d like to have control over, in relation to the keyframes in the text layer.
3. Correct, I’d like the 15 frame animation line animation between keyframes to remain the same for the animation in and out.
So ideally, with the text animation staying the same, I’d like the ability in my mogrt to adjust when the two keyframes for the line’s animation in and when the two keyframes for the line’s animation out start, but I would be okay with just the out if it’s easier.
Really appreciate your help!
-
Morgan Butler
September 23, 2019 at 4:45 pm in reply to: Changing the Start Point of a Shape Layer Size AnimationHi Tomas,
I’ve you can view a screenshot of my AE work space here: https://imgur.com/a/RtFyG4g (I couldn’t get the image upload to work). It’s the last pair of keyframes for the top layer, ‘Yellow Line’ that I’m wanting to be able to control when they start relative to the text layer keyframes below.
I’m wanting this control because in attempting to make this mogrt as flexible as possible, I need the text to move so far into the mask area to account for longer names and titles, but the result of this is that for shorter names the text comes into the yellow line and behind the mask more quickly and so there’s this bit of a pause before the yellow line collapses down to animate out.
I’ve done a bunch of tutorials on how to control keyframe values, but have had difficulty in finding how to control the timing of the keyframes and not the values.
Thanks for your help!