linear/ease is truly the best expression in AE imo. thanks for the great tutorials, I've been sharing them with some people I'm trying to teach AE to
@Animoplex2 жыл бұрын
Amazing! Yes, they are extremely versatile. Thanks for sharing it with friends, maybe they will get some value out of these lessons!
@cenadj3 жыл бұрын
this series is just outstanding mate!!
@Animoplex3 жыл бұрын
You're outstanding mate!!
@advocat10906 жыл бұрын
Wow, this is awesome! I come from your tutorial regarding the wiggle method, and I must say that I really love the way you describe things. Subscribed right away.
@Animoplex6 жыл бұрын
I'm glad you approve of the teaching method :) Thanks for the subscribe, let me know if you have any other questions along the way!
@elreydebastos2 жыл бұрын
Thank you for such a great course
@Animoplex2 жыл бұрын
You're very welcome, thanks for stopping by!
@davidwkr35603 жыл бұрын
I've been searching for this informations like crazy! thanks a lot
@Animoplex3 жыл бұрын
You're welcome a lot, glad you found it!
@تبصرة Жыл бұрын
very neat and informative content .. Thanks!
@Byte1ocked7 жыл бұрын
Subbed, you definitely need more attention.
@Animoplex7 жыл бұрын
Thanks! Your compliments are appreciated. As long as it helps people with expressions, the course has done it's job.
@sandyh2786 жыл бұрын
This is a very good and clear tutorial. thank you.
@Animoplex6 жыл бұрын
Thanks! Glad you found it clear, hope it was helpful.
@pnksmigge5324 Жыл бұрын
Hey Animoplex, I love this series on Expressions! One quick questions that comes up as I apply more of the new knowledge is whether we can control the interpolation further? I know that Javascript in general allows more control than just the default ease(In/Out), which would be super cool. Because in this case it's fine because you're mapping from a slider anyway, so you have access to the curve, but sometimes we can't do that, at least I think so. For instance I'm currently working on a project where I'm interpolation between value1 and value2, but both of these values aren't keyframes, because they have to work with different user inputs (text size changes). Sooo it looks a bit shit without control of the easing that's all. Thank you for the series again and no worries if you can't help or understand the question because I ramble :)
@Animoplex Жыл бұрын
A bit late on the reply here, there's a few things to unpack: 1) You could connect value1 and value2 to Expression Controls and then attach those to any value you want. As long as it's a numeric value, it'll work. 2) Non-default easing via expressions is more complicated. A trick you can use: keyframe a Slider Control from 0 to 1 using any ease curve you wish (from Flow or other plugins) - Then, reference the slider from the expression-driven value and use it as a multiplier. This way, you get an easy-to-edit ease curve while controlling a dynamic value. Something like: transform.scale * effect("Slider Control")("Slider")
@oliverdelprado94193 ай бұрын
@@Animoplex Amazing!
@MylonasFilms4 жыл бұрын
Love these Tuts
@Animoplex4 жыл бұрын
Thank you!
@bentherobotcop7 жыл бұрын
Thanks! Really informative
@kurtrauffer96617 жыл бұрын
benbobtabobboop
@Animoplex7 жыл бұрын
Thanks! Post back with any questions you have.
@mfaizfaufanid59476 жыл бұрын
oh god, this channel only get 3,2k ?? are you kidding me? *lets subscribee guysss!
@Animoplex6 жыл бұрын
I’m just glad so many people are enjoying the content :) Thanks for the subscribe, updates coming soon!
@RobertYarde7 жыл бұрын
Great stuff!
@Animoplex7 жыл бұрын
Thanks! More coming in a few days, stay tuned.
@DaviAyres5 жыл бұрын
Hi Parker! I researched and haven't found a way to make the graph steeper whilst using the ease expression. I usually use the Graph Editor to resolve it when using keyframes. Have you figured this out? Best regards,
@Animoplex5 жыл бұрын
Unfortunately, it's not as simple as a single line of code, but you can get the Flow plugin which allows you to apply a custom ease curve via expression: aescripts.com/flow/
@TinyLittleMaggie5 жыл бұрын
Hey Parker! Thanks for the great tutorial!! At 2:21 you used "value" to reference the original value of the Y position - does this "original value" refer to the Y position value BEFORE applying the expression? (i.e. this value is a static number that doesn't change over time) It's a bit confusing for me because the expression you wrote is the equivalent to "value = linear(thisComp.layer("Control").effect("Rocket Launch")("Slider"), 0, 100, value, value - 1500)" where you are updating value using value itself. Intuitively this code can be interpreted as "value" is changing constantly, and acting as a feedback to itself - which doesn't seem to be what's really happening. Could you perhaps explain this in more detail? Thanks!!
@Animoplex5 жыл бұрын
Great question, sorry for the confusion. When referring to the current property, value is the keyframed value before the expression is applied. In the example expression you included, the value attribute is referring to the original property before the expression is evaluated. It is animating from it's original value minus 1500 across a 0 to 100 Slider animation. You are, as you said, updating the value using value itself. But the expression won't stack or apply the modification more than once since value *always* equals the property value before any expressions are included. Hope this clears things up!
@TinyLittleMaggie5 жыл бұрын
@@Animoplex Yay! Thanks a lot! So let me correct myself - if I've already added keyframes to the Y position before applying the expression, the "value" may actually change over time. When I apply the linear expression on top of that, then for each frame, After Effects will take the keyframed value of this very frame and map it onto the new range defined by the expression, then place the object in this new position, but this result won't be used for evaluating the position of the following frames, right? (I think I sort of understand how it works but it's hard to put to words!)
@Animoplex5 жыл бұрын
It sounds like you've got it right. Each frame is independent, an expression runs on every frame. The only value that would change frame to frame in your scenario would be the keyframed value animating over time. Hope this clarifies things!
@TinyLittleMaggie5 жыл бұрын
@@Animoplex Awesome! Thanks again!! :D
@AlexAnder-mq1by2 жыл бұрын
I want to bind ROTATION to POSITION using LINEAR example : x = transform.position[1] p1 = 900; p2 = 300; r1 = 0; r2 = 90; linear(x, p1, p2, r1, r2,) when the value of p1 goes through the path to p2, r1 should go through the path from 0 to 90 degrees and back to 0 again, but i can't add the third argument, how can i solve this problem? please, help
@aleksandragraphics95845 жыл бұрын
Your tutorials is very useful for me, I really learn a lot thanks to you! But can you tell me please, in what case we can use the linear/ease/easeIn/easeOut expressions?
@Animoplex5 жыл бұрын
Glad to hear it, thanks for the feedback! You can use linear and ease expressions on values you want to be converted from one range to another. For example, a rotating dial (0 to 360 rotation) can be linked to the transparency (0 to 100 opacity) of a layer using a linear expression. This would create a dial-like control for adjusting opacity of a layer.
@aleksandragraphics95845 жыл бұрын
@@Animoplex thank you :)
@vcruelbrawl3 жыл бұрын
Bro how can i get something like toggle keyframe with a wiggle expression for position ??
@Animoplex3 жыл бұрын
Can you explain what you mean by 'toggle keyframe'? Not sure if you mean Toggle Hold Keyframe setting or a Checkbox Control.
@vcruelbrawl3 жыл бұрын
@@Animoplex toggle hold key keyframe, that makes the interpolation looks like a stopmotion movement
@Animoplex3 жыл бұрын
Try using posterizeTime() for that, here's a short video on how it works: kzbin.info/www/bejne/j33EoZWErr6rgtU
@davidsaint60976 жыл бұрын
Great tutorial! Can you think of a way to get more customised expression-based easing? Such as the expressions from Ian Haigh's Ease and Whizz plugin, but still being able to feed the values it transitions between?
@Animoplex6 жыл бұрын
Hey David, thanks for the question! It's a good one. Are you familiar with bezier curve values? You can get a lot of control over an ease curve with them. There's a great plugin called Flow that allows you to visually adjust a bezier curve and apply it to keyframes via an expression. Check it out if you're interested: aescripts.com/flow/
@davidsaint60976 жыл бұрын
Animoplex Thanks so much for the advice! I had the first part down but the Flow portion looks like exactly what I've been looking for. Seems like a great way to visualise those curves before converting to an expression, and should give me greater control to keep my data-fed animations slick :D Thanks again for your help!
@Animoplex6 жыл бұрын
Nice! Glad it helped you out. It's a great plugin and the Apply to Expression functionality is easy to work with once you have a good grasp at what's going on. Post back if you get it to work!
@davidsaint60976 жыл бұрын
Animoplex Thanks, will do :)
@davidsaint60976 жыл бұрын
If you look at aescripts.com/flow/ and scroll down to the bottom, there's a section called "Download additional preset packs to spice up your daily motion!" which I found had ample examples, plus you can right click and save the speed graph gifs to save as a visual reference for each value!
@Sam-qe5wj5 жыл бұрын
How can I ease all keyframes on a layer using an expression?
@Animoplex5 жыл бұрын
Easiest way to do this is with the free plugin from AE Scripts: aescripts.com/ease-and-wizz/
@geeleeggan4 жыл бұрын
Psycho thought: can you nest an ease expression within a linear expression (or a random or some other type for that matter)?
@Animoplex4 жыл бұрын
Technically yes, it's easy to do with a few variables. What are you trying to achieve with this?
@mohamedtayel3344 жыл бұрын
Hello 1st thanks for the great tut ... I have a beginner question :) how can I create the layer call "control" in this tut and what are the values of it ... thanks.
@Animoplex4 жыл бұрын
In this video, the "Control" layer was made using an empty shape layer. You can use a null layer instead if you'd like: Layer > New > Null Object And then you can add an expression control: Effects > Expression Controls
@mohamedtayel3344 жыл бұрын
@@Animoplex thanks a lot my friend
@antimczenko6 жыл бұрын
АХХЕРЕННА! Спасибо чувак)
@Animoplex6 жыл бұрын
Translated: “Thanks man!” You’re very welcome!
@MrPippec5 жыл бұрын
А нам расскажешь, что он сказал? Я нихрена не понял
@NullStaticVoid Жыл бұрын
its weird, when I type it in just like this it gets a syntax error. (for which AE provides no help in locating) But when I use the expression menu and pickwhip the layer for input it works fine. I even copied both expressions to a note and compared them. No difference I can see?
@Animoplex Жыл бұрын
Fascinating! What expression are you trying to use that's giving you the error? Wonder if it's an issue with quotation marks not being formatted correctly?
@rifqiartstudio7 жыл бұрын
So how about with speed% because I use speed% in twixtor not a position
@Animoplex7 жыл бұрын
The linear method simply translates an input range to an output range so any source should work. If you plug in your desired property as the first input argument and specify your output range, it should do what you want. Hope this helps, if you need clarification please reach out.
@dmytro_korolkov5 жыл бұрын
Nice video, thanks! Is it possible to give some kind of loop for linear or use it twice or more? In example I need to rotate main object on 180 degrees twice during 2 time periods of clock layer(between 105 and 260 degrees and repeat linear between 470 and 615): MAIN OBJECT EXPRESSION: r=thisComp.layer("clock").content("hour").transform.rotation; ease(r,105,260,180,360)&&ease(r,470,615,360,540);
@Animoplex5 жыл бұрын
Try this on the rotation property: r = thisComp.layer("clock").content("hour").transform.rotation; if (r < 470) { ease(r, 105, 260, 180, 360); } else { ease(r, 470, 615, 360, 540); }
@dmytro_korolkov5 жыл бұрын
@@Animoplex Thanks, it works! I have no experience to use such simple but interesting expression logic.
@Animoplex5 жыл бұрын
Happy to help!
@amirzeinali5633 жыл бұрын
if i want in expression Scale my shape write : ease(time,2,3,[0,0],[100,100]) ease(time,4,5,[100,100],[0,0]) This command does not execute, why?
@Animoplex3 жыл бұрын
The ease method won't work with an array. You'd need to just use 0 and 100 and then create an array on the next line, like this: myEase = ease(time,2,3,0,100); [myEase, myEase]
@amirzeinali5633 жыл бұрын
@@Animoplex If I want to continue the same formula that you wrote, it should be Unscale to 4 and 5, is it possible?
@Animoplex3 жыл бұрын
You can use 4 and 5 as values if you need. Recommendation is to try it, only one way to find out!
@MuhammadNurbasit4 жыл бұрын
how can we change the speed and value if we use ease expression instead of keyframe?
@Animoplex4 жыл бұрын
Speed and value are determined by the input, ease() and linear() only affect how it is mapped.
@cauealvarenga19456 жыл бұрын
i dont get this linear expression, wouldnt value + slider do the same thing?
@Animoplex6 жыл бұрын
In this simple example, probably. But any time you want to use a Slider (or other input) to be output to a different range of values, the linear method will be your best friend. It's more than simple addition, it's remapping the value to a new range. If you have additional questions, please reach out.
@EverlastingEclipses5 жыл бұрын
i came here for trim path offset easeIn so i can ease in the infinite loop of trim path
@Animoplex5 жыл бұрын
Awesome! Did it work as intended? Feel free to share your code, curious to see how you used it.
@EverlastingEclipses5 жыл бұрын
@@Animoplex sadly.. :( i ended up doing the copy and paste the trimpath and path file as group multiple times (the only way to see the keyframe to manually set the difference between different paths and end the path also..well kinda) but expression as it can be easy to put big motion for me (with no knowledge of coding or expression code whatsoever) Its not easy to use the expression if i cant do any easing or stopping when i want to.. its almost like a painting of food and i cant eat it..:( maybe you can teach us *trimpath and using expression* *to loop continuously and also ending it* *whenever we want it plus ease in and out of trimpath* as your next episode if you have time :D cuz i think trimpath is like one of many big dilemma that us beginning mographer face these days... :( Like if i wanted maybe deathstar's outline strokes being continuously trimpathed to look like it's moving or star wars or spaceship shooting laser continuously etc etc....
@wetwindisland66527 жыл бұрын
Just a note...the plural of "parentheses" is "parenthesis" and not "parenthesie".
@Animoplex7 жыл бұрын
Hey Matt, thanks for the feedback! Are you referring to the spoken pronunciation, or a typo in the closed captioning or PDF documentation?
@wetwindisland66527 жыл бұрын
The spoken pronunciation.
@Animoplex7 жыл бұрын
Looked into it, you're correct. In the first videos, parenthesis was pronounced "paren-the-see" with a silent "s" at the end. A few colleagues thought the same. But you learn something every day! Thanks for the clarification, Matt.
@Animoplex6 жыл бұрын
Just wanted to follow up with another thank you. The 400 series has corrected this pronunciation error. Appreciate the heads up!