DaVinci Resolve Fusion Tutorial: Expressions Made Easy
ฝัง
- เผยแพร่เมื่อ 7 ก.ย. 2024
- 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.
Every now and then I come back to this great video and relearn how to write expressions in Fusion. Thanks for sharing this great tutorial.
Thanks very much. Very pleased to hear you find it useful.
best tutorials i've seen so far. i wish you did this regularly and had a patreon
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!
Thank you. Very glad you found it useful.
Thank you so much for sharing! Best Fusion tutorials on TH-cam. 😀
This is some good basic knowledge to gain before proceeding to the Lissajous tutorial for Fusion.
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.
Thank you very much Simon for your tutorials. They are incredibly well done and are easy to follow. They are all very appreciated
This was such a fantastic introduction to expressions! There's so much more to learn, but I don't feel as overwhelmed anymore. Thank you :)
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.
Wow, it is soooooooooo useful, very big thanks to you. I love it.🍻😍
Thanks a lot. I'm so happy to find your channel and very sad that I didn't know about your channel so far!
You are the best in my heart.
16:26: The formula displayed on screen is wrong. The n2 should be factored in on the result of cos/sin (ie. cos(n1)*n2+p1x)
Thank you, Simon!
Great class these is it ...sir please make a rotoscoping class on fusion
Thank you for this very good tutorial. I am looking to move from After effects So this is very helpful.
This is a great tutorial about Fusion Expressions. Thank you very much!
Incredibly useful. Thanks for the tutorial :)
Thank you for making stuff for Fusion that has really goot information in it.
exactly what I hope to see in expression tutorial. thank you so much
Thank you so much! Your tutorials are very helpful, even for a complete beginner in everything concerning video making ;)
Excellent tutorial! Subscribed!
Thank you and welcome.
Great video my friend! Liked!
Here is where I sub.
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.
wow its simon from tokyo productions - aka my Motion5 guru.
This channel is very valuable. Is there a place to see all the available functions? What language are the epxressions using?
freaking amazing but I started to cry at 13:04
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.
Thanks for video tutorial. please you teach me more video..
anyone know how to map ranges? Cant find any documentation anywhere.
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?
Aw hell thats to much math for me, imma go back to keyframing. Great tutorial tho
can you please do a tutorial on inertia expressions (where a swinging elements slow down overtime)?
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 explain coordinates in EXPRESSION TUTORIAL ?
Too cryptic for me, sorry. Maybe give it another go.
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
documents.blackmagicdesign.com/UserManuals/Fusion9_Tool_Reference.pdf (Pages 498 - 503)
@@SimonUbsdell thank you so much :)
Have a nice day!
Hi, How to make two masks move in opposite directions? Can you say the formula?
Please email me (simon@tokyo-uk.com) and I can share an example composition with you. It's difficult to explain this in the comments.
@@SimonUbsdell Ok I wrote, thanks for the help )
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
@@SimonUbsdell Many thanks for your help
Awesome!! This is LUA? Where do we learn it?
Fusion uses LUA for scripting not expressions. You can find the expressions syntax in the Custom Tool section of the Fusion manual pp. 956ff
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.
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
Great tutorial. Quite stupid that you still have to refer to number modifiers as n1, n2 etc after you have given them proper names...
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;
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
Question: I have rectangles I want use as a mask. I want one mask to go to the left and the other one to the right. What expression would I use?
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.
Perfect! Thank you so much!
No problem. Please feel free to email me at any time of you have questions you think I might be able to help with.
is IF THEN expression works in fusion, if so what is the expression?
Yes, it's as simple as this: if(x, y, z) ... in other words if x is true then return y, else return z.
Hello, how do I write an expression to have a shift in time movement
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?
@@SimonUbsdell TO DIE ONE AFTER ANOTHER LEFT