A beginner's tutorial for Fusion expressions that helps fast-forward you to a good understanding of how they work - with special tips for After Effects users. Featuring bounce/spring, orbit and "look at" expressions.
Most excellent tutorial! Thank you for sharing the information. I am brand new and you answered so many questions. I hope you will continue to make tutorials. Everything I have watched from you has been great. Trying to wrap my mind around a few things before I dive in and your information has been awesome. Thank you Simon.
THIS is one valuable tutorial. Half way through I am thinking "does this guy offer a course?" because I have to know more. Simon, thank you for demystifiing a useful feature of expressions.
This is not for benginers. This is not easy. That's why I loved so much. Thank you for getting to the point. Now I can "translate" my AE expressions knowledge to this software. Subscribed!
Your tutorials are much appreciated. I have been searching for the list of math functions available in fusion, no luck so far. Could you kindly recommend where I can get a comprehensive list? Thank you.
If you search the Fusion Tools manual and look the the Custom Tool section, you will find all the documentation that's available. It's not very thorough and you will have to supply the gaps from your knowledge of other expression languages. It really should be better.
hello Simon I recently subs because of your excellent motion tutorials. I have a question but can't find an answer anywhere. so I'll as you in hopes you can help. I created a text element that had some basic material properties and a screen blend mode. I duplicated that layer and moved it to a new group. I then changed the text and put a different keyframed movement on it. There is an overlap an the forward text(duplicate layer) has a transparency to it where the back layer(original text) shows through. I want the text to be opaque as it moves over the back one. what possible settings am I missing? thanks for any help in advance.
Did you remember to change the blend mode of the foreground layer to Normal rather than Screen? If that's not the answer, please feel free to email me your project and I will take a look.
Simon Ubsdell yes yes yes. that was the issue. so much depth in timeline and overall properties I some how overlooked that detail. thanks for the help, I would love to send over my finished product once I've completed sound design just to show what your videos have helped me create. keep it up I love it
got little trouble there Simon... What's the expression to offset the beginin of that bounce ? Exemple : I'm making appear an object from size 0 to 1, then I want a little bounce (using the expression you made here !) But When I'm adding this expression, it's bouncing at the beginin of my fusion comp. How to make the object coming from 0 to 1 then bounce ?
Here's an expression you can try for the Point Expression Y, where n1 is the Frequency, n2 is the Amplitude, and n3 is the Delay before the bounce begins: if(time
If you need an expression to animate the Size from 0 to 1 over n frames, then try this expression (where n1 is how long you want that animation to take): if(time
Simon I am using v 18 of Davinci and everthing in this tutorial worked fine except for the very last section using "-atan2(n1,n2)". I've double checked everything up to this point and it's all correct. Do you know of a reason why this might not work?
I'm sorry. I don't know where you have gone wrong. I just (painstakingly and double checking everything) remade it myself here, following my own instructions, and it's working fine in both Fusion Studio and Resolve Studio.
Do you mean a pendulum? If so, you can use the following expression on the rotation of the pendulum object: sin(time*n1)*(n2*n3), where n1 is the speed (frequency) of the swing, n2 is the amplitude of the swing and n3 is the control you animate from 1 down to zero in order to get the pendulum to slow to a halt. Although maybe you're asking for a more scientifically-based answer?
You don't need expressions for that. Are your rectangles bitmaps or are you using the rectangular mask tool? If it's the latter, then just chain your two masks together.
The masks are rectangular using the rectangle tool which are connected to each other and then are applied to a loader. I want the masks to travel by same amount but in oposite directions on the horizontal axis with the vertical axis being the same.
Link the two masks with a pickwhip (or by typing the path if you're being very clever) and invert the linked version. Your expression should read: "Point(1-Rectangle1.Center.X, Rectangle1.Center.Y), assuming that Rectangle1 is the mask you are linking to.
Simon Ubsdell Hooo, I got confused, now I understand why my expressions didn’t work. Thank you!! I am stock with this: math.random(0,359) It rotate randomly but at hi speed, how I reduce its speed? Also I found this in the manual: "Inside this text box you can enter one line scripts in Lua with some Fusion page specific shorthand.
I don't understand the question. "time" is a variable that you can use in an infinite variety of ways to create time-based and time-dependent effects. What kind of effect are you wanting to achieve?
the problem is, i don't know where is the document about the syntax in fusion, variables name, built in functions or something like that can you have me
Hi Simon. I need your help! I make content for live visuals for music, I am moving from Motion to Fusion and I am really missing the Parameter Behaviour tool - Oscillate! I relied heavily on being able to input the BPM of the track I was working on and change the wave form to quickly create movements in time with the music. I have been trying to figure out how to make a custom tool and use expressions to make this in fusion but I just can't figure it out. can you help me? Thank you
To get an oscillate behavior in Fusion you need to add an expression using sine (or cosine), which is the same thing. Right-click on any parameter anywhere and choose Expression (or use the equals sign in the number field to add an expression) and then type sin(time/x), where x is your chosen divisor for time (which is counted in frames). Experiment with different values of x to get exactly the BPM you want. If you are looking to dial in specific numbers then you will need to multiply time by pi as well: sin(time*pi/4) will complete the oscillation within 8 frames. (You have managed to land on pretty much the only tutorial in which I don't use this function!) PS. Different oscillate types require different expressions but I am pretty sure you mean a sine oscillation since that's the Motion default.
Thank you so much for replying! I really appreciate your time! What I really want though is to be able to input a BPM, so based on what you said there this is what I’ve come up with… sin(time*pi/((60/BPM)*FPS)) So I’m trying to get it to calculate the time between beats at a given BPM, then * that by the frame rate to get the frames per beat (in given BPM). That is very nearly working! But it seems to be slipping out over an extended period of time, is that because the number of frames im calculating there is fractions of frames and not whole numbers? and it’s rounding that frame number down by default maybe? So maybe i need an if statement or something to get it some control over that and make it round either up or down? Or am i going down the wrong path with that thinking? Ultimately I am try to recreate the Apple oscillate tool (with all its functions) in fusion, but I think that is quite ambitious for someone of my current abilities but for now even if I could just get a BPM driven sine wave oscillator expression nailed it would be very useful Thanks again!
Try entering this expression making sure to include the colon at the start : rate=24; BPM=120; freq=rate*60/BPM; amp= .2; return sin(time*pi/freq)*amp; Adjust the 'rate' value to the frame rate you want and the 'BPM' value to the BPM you want, adjust the 'amp' value to get the amplitude of the wave. Works perfectly for me even for a very long timeline.
That is working great!!! Honestly, thank you so much for taking the time to do this for me. I am a long time follower of your videos and I didn’t expect you to take the time for me! Very grateful 🙏
Thanks for letting me know. If you want a triangular wave instead you can try this: : rate=24; BPM=60; freq=rate*60/BPM/pi; amp= .1; y = 2 * abs((time/freq - pi/2) % (2*pi) * (1/pi) - 1) - 1; return y*amp;
I think you might have got the email address wrong. If you prefer you can download the example here: tokyo-uk.com/Motion/MaskConnection.zip Step 1: Animate Mask 1 Step 2: Modify Center of Mask 2 With >Expression. Step 3: Connect "Point in 1" of the Expression to the Mask 1 path Step 4: in the Number Expression fields enter 1-p1x and 1-p1y If you only want to invert the X but not the Y, use p1y for the Y expression. And vice versa.
@@SimonUbsdell Strange, I checked the mailbox, he is correct. Your comp does a miracle, everything works as I wanted) True, I still do not understand the correct procedure, now I'm trying to do everything myself and it turns out some kind of nonsense If I connect your masks everything works perfectly, I do it myself the same way and it does not work XD
Very powerful and some what irritating UNLESS there's a Cheat Sheet explaining ALL names of the abbreviations for functions like sin, cos, atan etc otherwise I'm as lost as can be... maybe read the manual?