Control Time in Templates - Adobe After Effects tutorial

Поделиться
HTML-код
  • Опубликовано: 5 сен 2024
  • Control the timing of your templates! Give users the power to retime animations as they need. Want an animation to last longer? Or text to come on slower? Should a logo come on later? Sooner? Using a simple group of expressions we will open up a whole new world of template possibilities. Even if you don't make templates you might learn something here.
    If you have any questions just let me know in the comments.
    Download this project file:
    evanabrams.com/...
    Connect on the Internets
    www.EvanAbrams.com
    ecabrams
    www.Facebook.com/EvanCAbrams/
    EvanCAbrams
    Suggest a tutorial topic: docs.google.co...
    Google+
    plus.google.co...

Комментарии • 117

  • @Freelancer1001
    @Freelancer1001 6 лет назад +4

    This makes templates so much more flexible! I'll be referring back to this. Thanks Evan, you're a huge help to freelance editors.

  • @PereraN
    @PereraN 2 года назад +3

    Just in case anyone needs to copy and paste:
    t=time-inPoint;
    d=thisComp.layer("Layer1").effect("Slider Control")("Slider")
    linear(t,0,d,0,100)

  • @Edit-on
    @Edit-on 2 года назад +3

    Oh My Goodness. Finally I found out how to make it. Thank you so much. your video helped me a lot.
    t=time-inPoint;
    d=thisComp.layer("Adjustment Layer 1").effect("Slider Control")("Slider");
    r=thisComp.layer("Adjustment Layer 1").effect("Slider Control 2")("Slider");
    linear(t,0,d,0,r)
    Like so. I made 2 definition. d and r then it works.

  • @eduardoasta
    @eduardoasta 4 года назад +9

    Another amazing tutorial. Is it possible to make it OUT using the same animator used to get it IN instead of using position?

  • @DropThePiProductions
    @DropThePiProductions Месяц назад

    thank you, super useful even 5 years later!

  • @TiagoHillesheim
    @TiagoHillesheim 4 года назад +2

    if you hold ALT while pickwhiping a property, the reference will have a number instead of a word, so the expression will work in any language. Like, instead of effect("Text Gone")("Slider"), you will get effect("Text Gone")(1).

    • @ECAbrams
      @ECAbrams  4 года назад +3

      oooh! I did not know this lifehack. I've been using the expression universalizer after it's all done. Very cool tip!

    • @TiagoHillesheim
      @TiagoHillesheim 4 года назад

      @@ECAbrams wow, thanks, man! been following you for years. thanks for your great work.

  • @spencertorok
    @spencertorok 3 года назад

    Wow how am I just finding this now. This is great Evan!

  • @gusmaiawork
    @gusmaiawork 3 года назад +1

    u're the real mvp, Evan

  • @nitromusik9275
    @nitromusik9275 5 лет назад +1

    This is pure gold

  • @giancarlorocha7985
    @giancarlorocha7985 Год назад

    Really helpful tutorials. Wish I had all your expressions knowledge. I also really liked the voice crack at 2:36

    • @ECAbrams
      @ECAbrams  Год назад +2

      It's a tutorial channel sometimes and a really subtle anti-smoking PSA often.

  • @paulocardoso8519
    @paulocardoso8519 5 лет назад +2

    Thank you, Abrams. You've saved me here

  • @Workbenchtv
    @Workbenchtv 6 лет назад +2

    That's a good way to do it. I was wondering if you'd do it this way or use Time Remapping since they've been trying to fix that in Master Properties. Good stuff man.

  • @weezypeasy
    @weezypeasy 3 года назад +1

    This was excellent. Very clear and easy to follow. Thank you!

  • @MrMuffinLord
    @MrMuffinLord 6 лет назад +1

    Thanks for these template tutorials, super handy when making my own style and not having to redo everything each time

  • @techelefant9868
    @techelefant9868 3 года назад

    this is THE VERY expression I have been looking for! yet, it only took three times until I realize it was what I was looking for

  • @ClipCrafterOfficial
    @ClipCrafterOfficial 2 месяца назад

    Thank you very much!

  • @raymondchatwinfilms7542
    @raymondchatwinfilms7542 2 года назад

    Nice Ending with the no one would know! I'm here cause I downloaded a template that doesn't let you change it's time, and now I'm trying to make it happen.

  • @thnqolo9667
    @thnqolo9667 5 лет назад

    This is the best tutorial ever seen. So nice and clear. Thank You so much Sir

  • @GRANITE-EDUCATION
    @GRANITE-EDUCATION 3 года назад

    This is so cool - one of my favorite After Effects tutorials I've seen!

  • @kevinveron7713
    @kevinveron7713 3 года назад

    Thank You So much Sir,You teach the expressions and controllers well

    • @ECAbrams
      @ECAbrams  3 года назад

      Happy to help :)

  • @tingwen1713
    @tingwen1713 6 лет назад

    Thanks for making this tutorial! This is incredible!

  • @WooStaar
    @WooStaar 6 лет назад

    Oh Evan, this is just beautiful!

  • @LuukvdHoogen
    @LuukvdHoogen 5 лет назад

    Sir, you have just introduced me to a world of possiblities that, without any prior announcement, will dominate my attention for the months to come. Thanks for that..

  • @MikeyNavarrete
    @MikeyNavarrete 4 года назад +2

    Hello this is a good tutorial but what I want to know is that when I import that mogrt file into premiere is that I can just drag the layer and it will automatically adjust the duration. How is that possible? Because I downloaded a template from Envato and I am amazed that it's possible. Hope you can help. Thank you! :D

    • @MikeyNavarrete
      @MikeyNavarrete 4 года назад

      It has also animation on the elements but when you drag it to how long you want it the animations are seamless

  • @littleghost82
    @littleghost82 10 месяцев назад

    Great tutorial and it helped me already... HOWEVER ...
    What I am trying to achieve is that text (Evan Abrahams is cool!) animates in and that I can control when a shape (highlighting "cool") animates in.
    Now, the slider created in this tutorial controls the speed at which the text (or in my case a shape) appears (0 seconds (0%) to 2 seconds (100%)).
    The "t" value in the expression dictates when it should start.
    I need to make it so that the slider controls the start time.
    I've been fiddling around with it for a while but I can not seem to fix that :S

    • @littleghost82
      @littleghost82 10 месяцев назад

      For now, I used delay:
      var delay = thisComp.layer("Controls").effect("EfectDelay")("Slider");
      valueAtTime(time - delay)

  • @DavidHendersonHean
    @DavidHendersonHean 2 года назад

    Nailed it. Another thorough, thoughtful, incredibly useful and enjoyable tutorial by ECA :) This is one of those subjects that might not be that 'sexy/fancy', but for anyone scratching their heads about how to get this kind of functionality in a template, the techniques described here are invaluable.... But what if you had a series of complex keyframe animation that you had finessed in the graph editor until you were happy as a clam, and just wanted to push them around the timeline? or speed/slow them? I'd reach for time remap, but that's only because I don't know how to 'express' myself very well in JavaScripting :P

  • @Edit-on
    @Edit-on 2 года назад +1

    Hi Abrams! last time I asked how I can make the graph template in which I can adjust keyframe values whatever I want from 0-1 to 0-100. You answered linear interpolation expression. I studied that expression. but what I wanted to know was how to adjust the second keyframe which is already marked. For example, I make the info graphics template. there are already marked 2 keyframes. The first one is height 0, then the second one is height 78. It means graph move from 0% to 78%. but in the template I would like to adjust to 98% by just changing the number. Could you tell me what expression do I need to apply to that?

  • @cbcsurvivalguide
    @cbcsurvivalguide 3 года назад +1

    Hi there! How would you apply this for graphs such as a bar graph template? What sort of expressions and properties would you need to make it into a template where you can control the time?

  • @Edit-on
    @Edit-on 2 года назад

    That's the fantastic tutorial. I must respect you. I am now looking for how to make the graph template in which I can adjust keyframe values whatever I want from 0-1 to 0-100. Could you let me know which expression I need to learn to make that?

    • @ECAbrams
      @ECAbrams  2 года назад

      Maybe the interpolation expressions like linear()? Does that fit with what you're attempting?

    • @Edit-on
      @Edit-on 2 года назад

      @@ECAbrams thanks alot. I will look into that expreesion. Then I will let you know. Thanks again.

  • @shom07
    @shom07 Год назад

    I just came accross to your tutorial. It is amazing. But I am kind of new to this, and would like to know how I can reverse the animation with the duration of the animation to be on screen with slider controls. 3 sliders for In, out(reverse) and holding duration!! Anyone with the solution would be highly appreciated!!

    • @ECAbrams
      @ECAbrams  Год назад

      I would recommend using expressions like the linear() and some if/else statements to cover when which linear() relationship should be taking precedence. It's all about using those sliders to change when expressions are meant to be happening and what the numbers mean at that time. I don't know if that really helps though.

  • @bg9919
    @bg9919 4 года назад +1

    Simple Question: Instead of assigning duration for opacity transition to a slider, can you show how to assign the timing of the START of the opacity transition? Basically how you were able to create a slider to animate the position to slide the text OUT, I want to setup a slider where the number indicates when the opacity transition IN begins. I need to allow the editor to control the specific timing when certain text fades on screen. Pulling my hair out. Appreciate any help you can provide. Thanks!

    • @VMullenMedia
      @VMullenMedia 2 года назад

      Did you ever find a solution for this? Looking to do the same thing. Thanks!

  • @ambrosioflavio2266
    @ambrosioflavio2266 5 лет назад

    Thanks! nice tutorial

  • @saltfeend
    @saltfeend 3 года назад

    woohoo .. this is what i needed

  • @DaveSy
    @DaveSy Год назад

    This is amazing, but I'm having difficulty applying it to my complex text graphic. It's 2 text boxes that zoom on, wiggle rotation + position for about 4.5 seconds, and then drop off. I've seen mogrts that allow users to use just ONE slider to control the duration of the time in the middle when it's not animating on or off. What would I do if I were just to allow people to extend the duration that the 2 text boxes are just sitting there and wiggling?

  • @TheDjhansen77
    @TheDjhansen77 6 лет назад

    this was fantastic

  • @czlowieknozreloaded4093
    @czlowieknozreloaded4093 6 лет назад

    great tut!

  • @billdowling8428
    @billdowling8428 6 лет назад

    Evan Abrams IS cool

  • @bogs1982
    @bogs1982 4 года назад

    thanks it was great tutorial...
    very good explanation
    but suppose i want animate text using index based then how would i write the expression??
    say for percentage based animation
    linear expression will have last two variable as 0 and 100 only
    but for index based expression last variable will depends on nos of character in the text

    • @ECAbrams
      @ECAbrams  4 года назад

      So, that's the tricky part. Not knowing the index numbers we can't really do much procedurally with them. For this issue, what's the reason you want to animate based on index in this way? Maybe there's a way to get you to your end goal with percentage.

  • @andyslashhindogawasydneycy6719
    @andyslashhindogawasydneycy6719 6 лет назад +1

    nice bro..i like it

  • @pradeepverse
    @pradeepverse 5 лет назад +1

    Thank you so much #AENinja!

  • @lunalilo70
    @lunalilo70 6 лет назад

    Very helpful

  • @KundoKun
    @KundoKun 6 лет назад

    AWEEEESOOOOME!

  • @vishakhasingh2132
    @vishakhasingh2132 6 лет назад

    I love it

  • @desireesso520
    @desireesso520 6 лет назад

    is it possible to make these templates in AE CC 2017. thanks once more for this great tut. you're the best. continue sharing your skills with us like this is an incredible gift for learners that we are.

    • @ECAbrams
      @ECAbrams  6 лет назад

      I'm not totally sure. My memory of what was specific to cc2017 isn't that great.

  • @kaijeske7325
    @kaijeske7325 4 года назад

    Trubleshooting recuired!
    Thank you so much for your videos, you made me doing this for clients now. So I create Templates in there style to save them a lot of time.
    There is just one big issue, which is destroing everything: Some Templates don't do, what there are supposed! let me give you two examples:
    I made up a Template where there is a solid sliding in from the side, adjustable by a slider, so the editor can deside, how much of the footage ist covered. In AE everything is fine, exported to PP, it slides in, stops (as supposed) but it doesn't stay there. The Solid moves like the bezier keyframes are not set up right. But in the Template, they are. So premiere doesn't read the information properly.
    The second problem is even worse: Every Template I made for that Client, got a colorpicker to choose one of there 4 CI-colors. That works fine in the first place, but when exporting, premiere uses the default color, no matter what the editor is doing.
    So are there some troubleshooting tipps you can put into a video? There are even more problems cause I use After Effects in german, but some Clients in english, where do I find a list of universal expression stuff. (I already looked that up, but haven't found pleasing solutions for that)
    Regards
    Kai

  • @wepranaga
    @wepranaga 6 лет назад +3

    can you control the duration of the composition? with essential graphics/templates

    • @KyleZager
      @KyleZager 6 лет назад +2

      You could make a composition[CompA] and then make another composition [CompB] that has the CompA in it and enable Time Remapping and control the duration that way. That would just be stretching / compressing frames though - may not be what you're after.

    • @ECAbrams
      @ECAbrams  6 лет назад

      In a way yes. You could use this method to affect a time remapping property. However, the actual duration of the clip would not change. Essentially the box that the template comes in would not change, but the contents could go longer or shorter. Does that make sense?

    • @TrisAF
      @TrisAF 6 лет назад

      I'd make a composition with the maximum length you think you'll need and trim off excess (blank space) as needed. A script could control the duration of the composition, but not an expression.

    • @arzunshrestha9152
      @arzunshrestha9152 6 лет назад

      I am also trying to figure out is there really any way to control composition time through expression. Making contents longer or shorter is okay bt how about making the clip length longer or shorter.

    • @michaelscottvisuals7735
      @michaelscottvisuals7735 5 лет назад

      @@KyleZager what would be the expression for this?

  • @kamrieowens9607
    @kamrieowens9607 2 года назад

    If I wanted the text to disappear by sliding down instead of right, how would I do that?

    • @ECAbrams
      @ECAbrams  2 года назад

      You'll need to modify the position property in the text animator. You might want to check out my tutorials about the text animator specifically to get into that more.

  • @KyleZager
    @KyleZager 6 лет назад

    I'm on an older version, but dang those Essential Graphics look so smooth. I don't know if they look $20/month smooth but mmm. It's like peanut butter. Or just normal butter. Normal butter is probably smoother. Maybe it's more like peanut butter now that I think about it. Hold on a second, I'll be right back.

    • @ECAbrams
      @ECAbrams  6 лет назад

      Essential graphics is a game changer. It may seem like it's only for template creation, but it has many other interesting uses inside Ae alone.

    • @maykbrito
      @maykbrito 5 лет назад

      hahahhhah

  • @DoronTshuva770
    @DoronTshuva770 6 лет назад

    sorry for been so ignorant, at 2:20 you set the value to 0 and then jumped a few frames forward with (i guess) a key, how did you do that?

  • @JordanService
    @JordanService 6 лет назад

    nice.

  • @ronandl
    @ronandl 3 года назад

    Thanks so much, Evan. Great tutorial!! One question. If I wanted to lets say, fade out the text again from 100-0 on the range selector, can I have 2 linear expressions where the time between the the in(0-100) and out (100-0) is also set by a slider value on the control layer?

    • @ECAbrams
      @ECAbrams  3 года назад

      It's certainly possible. You'll need a step in between though. I would do with with an if/else myself. So if time is below a certain number let's use the one linear() to bring the layer on. Then if the time is over a certain number let's use a different linear() to bring it off. Does that make sense?

    • @ronandl
      @ronandl 3 года назад

      @@ECAbrams Hi Evan.. thanks so much for your reply. This makes total sense.. I'll give it a shot and post the solution to this comment, incase it's helpful to others.

    • @ronandl
      @ronandl 3 года назад +2

      Thanks @@ECAbrams , I finally got around to working this out. posting the solution if anyone else finds it helpful.
      var In=thisComp.layer("Controls").effect("Resolve Time ANIMATION 1 Master")("Slider");
      var Out=thisComp.layer("Controls").effect("Resolve Time ANIMATION 2 Master")("Slider");
      var Dur=0.001; //One frame
      //Opacity In Variables
      var animationStartTime1 = In ;
      var animationEndTime1 = In + Dur;
      var startValue1 = 0;
      var endValue1 = 100;
      //Opacity Out Variables
      var animationStartTime2 = Out ;
      var animationEndTime2 = Out + Dur;
      var startValue2 = 100;
      var endValue2 = 0;
      if(time < In){
      linear(time, animationStartTime1, animationEndTime1, startValue1, endValue1);
      }else if(time>In){
      linear(time, animationStartTime2, animationEndTime2, startValue2, endValue2);
      };

    • @sergeylovtsov1778
      @sergeylovtsov1778 2 года назад

      @@ronandl Hello. I copied and pasted this into the range selector. Created sliders. It works but the interpolation is hard (the value switches from zero to 100 at once) How to make smooth interpolation?

    • @cestovas
      @cestovas 2 года назад

      @@sergeylovtsov1778 I just did it with Range End Selector lol, way easier

  • @bethanychamberlain1254
    @bethanychamberlain1254 3 года назад

    How do you add a parameter for when the animation appears and reappears? and would that expression be written in opacity?

    • @ECAbrams
      @ECAbrams  3 года назад

      you would likely want to use a slider control. Your expression for opacity would need to have a single output part like x instead of [x,x] for a two part. Does that make sense in the context of this tutorial?

  • @EEZAATEE
    @EEZAATEE 5 лет назад

    i love you so much

  • @writtenbywalsh
    @writtenbywalsh 2 года назад

    Liked and subscribed! Question: can you do the above but in relation to other text layers? I createda bulleted list MOGRT for use in Premiere, and I want the user to be able to adjust when each bulleted text line appears. The way the template is now, I have them keyframed to appear one after the other, but I realized, they may want to hold on one bullet while the speaker in the video discusses it.

    • @ECAbrams
      @ECAbrams  2 года назад +1

      For sure. We can use sliders to hold any value we like. Then, using that value to offset the time that each layer might use to animate on or off. It's all about lining up the variables and linking them to each other. You might consider making many sliders, one for each text's delay or hold perhaps.

  • @wmcaldera
    @wmcaldera 3 года назад

    Can you use this to change the rotation of a comp... i.e. make it stop rotating based on the slider?

    • @ECAbrams
      @ECAbrams  3 года назад

      Absolutely. Technically you can use this method to control any property you place it on.

  • @vwvvwvvw
    @vwvvwvvw 6 лет назад

    I Love You.

  • @wildshiftspictures2607
    @wildshiftspictures2607 4 года назад

    Thanks for the great tutorial!
    However, the slider controls don't seem to work, after I exported the template to use it in Premiere. Am I just doing something wrong or is it simply not possible?

    • @ECAbrams
      @ECAbrams  4 года назад

      is the slider in the essential graphics window? And can it be used to control things from that window?

    • @wildshiftspictures2607
      @wildshiftspictures2607 4 года назад

      ECAbrams yes it is. It works fine in the AE preview of Essential Graphics but not when I import it into premiere. All direct adjusments work (like font , text colour...) but no sliders I linked from expression

    • @wildshiftspictures2607
      @wildshiftspictures2607 4 года назад

      But I also tried with your project files and its the same, so I guess there is a bug in AE or PR:)
      Bit thanks for your answer !

  • @mrunseen3797
    @mrunseen3797 5 лет назад

    Where can I learn to program these commands?

  • @angelikafrohlich486
    @angelikafrohlich486 6 лет назад

    Is there any possibiliy, that the duration of an lower third is always as long as the clip length in Premiere? In particular, when I'll make the clip longer, the animation should always start and end at the begining and ending of the premiere clip?! In a few words: Is a variable duration (for example: Animation starts, no Animation/or looping elements in the lower third, Animation ends) possible?

    • @ECAbrams
      @ECAbrams  6 лет назад

      Sadly the length of the clip in premiere doesn't really talk to the template that I know of. You would need to link up those inputs and outputs somehow. At this time you can use the duration as a number in a template field to adjust those things but you may have to manually change that number.

    • @angelikafrohlich486
      @angelikafrohlich486 6 лет назад

      Thanks for the very fast reply :) ... And that's really sad... if you have to adjust every lower third you have (because of the different durations I want to use), this seems not the right
      workflow then... hmmm...

  • @TrellWest
    @TrellWest 4 года назад

    Can you do this instead with a countdown timer?

    • @ECAbrams
      @ECAbrams  4 года назад

      Absolutely. You could rig this kind of thing up to type in a time and have count down either at speed or faster or slower. Anything is possible with enough expressions

    • @TrellWest
      @TrellWest 4 года назад

      ECAbrams awesome yeah. I got the timer and function made but am unsure how to turn it into a mogrt and template.

  • @mehdiful9929
    @mehdiful9929 6 лет назад

    I am having a hard time grasping what that "Out-Dur" is doing. Could you pls elaborate a little bit on it?

    • @ECAbrams
      @ECAbrams  6 лет назад +1

      Sure. So the linear, or ease, or easeIn, or easeOut, all operate to remap values. So when we write easeIn(X,A1,B1,A2,B2), the A1 will become A2, and B1 will become B2. All the values inbetween will be remapped between that range. Now, we are remapping the values of the [end time - durration] and [end time] so that we can have something happen between those times. Meaning the ending animation will begin at the end time minus the duration and end at the end of time. Does that make sense?

    • @mehdiful9929
      @mehdiful9929 6 лет назад

      ECAbrams kind of. I need to play a little bit with it in AE instead of just watching . That will clear the confusion. Thank you, Evan!

    • @desireesso520
      @desireesso520 6 лет назад

      thanks for this explanation. i don't understand yet despite this one. is it possible, dear ECA, to put it to another way?

  • @paulocardoso8519
    @paulocardoso8519 5 лет назад

    How can I do duration, in and out speed with opacity?

    • @ECAbrams
      @ECAbrams  5 лет назад

      You might want to look into protected regions. A new feature since this video came out.

  • @kaaze7
    @kaaze7 5 лет назад

    how can you easy ease the out in the text?

    • @ECAbrams
      @ECAbrams  5 лет назад

      in this example, we use the linear() for a linear relationship but you could use ease() easeOut() or easeIn just as well. There are others too but those are the most common remapping relationships. They all work the same as linear, but with different relationships and in this case, that would cause an eased motion.

  • @desireesso520
    @desireesso520 6 лет назад

    is essential graphic enable for AE 2017?

    • @ECAbrams
      @ECAbrams  6 лет назад

      I can't rightly remember. If you check under "window" in your cc2017 install you may find it there. But if you don't, it's not available.

  • @AvtomirKr
    @AvtomirKr 5 лет назад

    It's work in 2017?(

    • @ECAbrams
      @ECAbrams  5 лет назад +1

      So far as I know, the linear() expression is good for all versions. Now, I don't know if the essential graphics pannel or templates were a thing in the same way in 2017.

    • @AvtomirKr
      @AvtomirKr 5 лет назад

      @@ECAbrams thx)

  • @giosanfilippo
    @giosanfilippo 5 лет назад

    On 8:03 it was the exact momento where I completely lost myself

  • @user-ue6vl2sf1f
    @user-ue6vl2sf1f 2 года назад

    이거 안됨

  • @UncleJimsBand
    @UncleJimsBand 5 лет назад

    "Tee Hee!"

  • @robinhannagan-jones811
    @robinhannagan-jones811 2 года назад

    Hey! run into a snag! i was following along and this expression - out=thisComp.layer("Controls").effect("text gone")("Slider"); - keeps getting a undefined value error message under it? could it be because we're in after effects 2021? and if so what's the fix? everything else is working fine though!

    • @ECAbrams
      @ECAbrams  2 года назад

      What's the whole expression as you've written it?

  • @ParuHangg
    @ParuHangg 4 года назад

    Thank you so much!!!