you all prolly dont care but does anybody know of a method to get back into an Instagram account? I was stupid forgot my password. I would love any help you can give me!
used the first part to make the little number "scrabble piece" and thanks to your setup I what doing wrong trying to place a mask for it to disappear into. Great work!
Wow! from me too... I found this video looking for something else for Resolve and discovered "Expressions" Had no idea there was anything like that in there!
@@WilliamJusticeMedia I did 👌 And your cheat sheet is great! I'm faaaar from a fusion specialist but maybe something could be done for the long expression on a single line, so it would be easier to write (and read and edit it in the future). *If you click on the "settings" icon of any node, you have a "Frame Render Script" area.* I just tested it now with a simple script like this : a = 1; b = 2; c = a+b; Text1.StyledText = time.." - "..c; You could (and I just discovered it now) set any variable that doesn't change (like a frame rate) and put it in the *"Start Render Scripts"* box. So all the variables that doesn't change over time during the length of the fusion comp (a one-time calculation, a framerate number, the length of the comp, etc) could be put in it so Fusion will not render/set these variables at every frame. And it will only process the expression itself each frame.
@@TransformX Yes... I played around with the frame render scripts and used that area to enter the scripts for the counter. I worked really well...I was going to show it at the end of the video, but it was getting pretty long For this video, I wanted to keep the script/code in the expression field because that's what most people think about when they hear expressions. For the render script, i tried to get smart... do all the calculations in one node (render script area) and set the properties of the other nodes... BUT...it would not let the script modify properties for a different node (read only i think).... From the render script, it would only let me modify properties for the node where the script is entered.
Thank you so much Bill for taking on this topic. Personally I could not follow you on the explanation of the expressions you made for the counter. I will be watching it several times, and not give up of course. Saad Shah's suggestion below on making shorter tutorials, covering and explaining one expression at a time, I find very good. And to add to that, I would recommend to present everything a little slower, giving each new idea time to sink in without too much of a time pressure. Thank you again for your commitment and hard work. Keep it up, our community is growing!
Really appreciate your feedback.. I agree....Gong to work on slowing down a bit and not trying to cover quite so much in each video. Working to get better with each video... Thanks again.
WoW William - yes the idea of using 'expression' does my head-in but thank you.... a) for your approach to shared learning and, b) for giving us a bit of a leg-up. Now I am now truly challenged. Gee-Whiz!
This is a great video and no, it’s not too much! I’m at a point where I want to learn more about lua programming and how it could open up new possibilities in resolve. So I’m watching your old videos again to review and relearn these things.
Blew my mind, I’ll now be looking to do this. It looks so simple but has so much clever stuff behind the scenes. Thanks for sharing as I’d never have come up with this 😊
Hey.. thanks for the comments. Expressions are not too difficult. The trick is to learn when and where to use them to help your animations. Just takes a bit of practice and trying things out.
Great help Used it to generate a constant wiping glow animation, using a rectangle over the glow with the expression Point(min(tan(time/90)), 0.5571992110454) Can leave text up without keyframes and it keeps going left to right for a cool shine effect. Change the divider to change the speed. There is probably a cleaner way to get the same effect, but it works.
Wow !!!! You are a complete ROCKSTAR !!!! Really heavy stuff... and way over my head but I’m just stunned that you’re open to just go for it and share your passion, ideas and expertise with us like this. Very inspiring... and makes you wonder what can’t this program do ? Amazing Video, thanks. : )
reminds me of visual basic commands. Time to use time variable. Now I can use a 3d camera node in fusion and when I zoom in tell the camera lens blur node to increase in real time by linking them with expressions. No longer will I have to use open gl render in fusion to use focal length (which is a laggy). I usually do green screen work and now can set up formula to link keyed image as foreground. Have the 3d camera move in and only effect the blur on the 3d camera pointing at the background. Thanks for the video
I definitely remember visual basic... Did a lot with it!...Awesome... It seems like some type of expression should do exactly what you want. Good Luck!
Although there's no specific reference to it in the tutorial, thanks for putting the FrameRate in the cheat sheet - I've spent the better part of a day trying to work out how to reference it, only to find it here! There's also a big thanks to putting the script up for the animated Timer - It would be good to explain how it might be converted into a script if the project got any more complex
Appreciate your comments. Thanks... This cheat sheet is just a quick reference. I plan on adding to it overtime with useful information. Next time i am talking about timers i will go into a bit more detail about how to use them.
Hi, nicely explained video. One minor thing, it's quicker(or at least I think it is) to just put an = in the value box to add an expression. Also you might want to do a part 2 where you look at using the modify with expression command - which then gives you lots of extra controls n1 p1 etc which can be used as user controls - and of course you can add more controls(sliders, wheels, point controls etc) by right clicking the name of the node in the inspector and choosing Edit Controls.
Hi.. Thanks for the comments. The = is a quick short cut. I generally use that when setting an expression. Quick and Easy. For this video I thought it would help people follow if I used the menu...but definitely should have mentioned it. I have not really done anything with the modify with expression option. I will have to check that out.
Thanks... Really hope it was not too complex... I was throwing around a lot of numbers and formulas.. Just wanted to show lots of different thing you can do! Appreciate your comments!
@@WilliamJusticeMedia For the average person, Fusion is complex enough, let alone expressions lol. If you really want the average person to give Fusion a chance, and learn SimpleExpressions once they start using Fusion, I would highly recommend a different approach. Shorter tutorials, a whole series of them, like a playlist. One single concept at a time. A couple of examples in use. I think then we will really start seeing people using SimpleExpressions and not being so scared of them. I was thinking of doing something like that, but thats like a full time commitment to the subject.
@@saadshah7857 Thanks so much... Really That is great advice. I just have so many different things I am wanting to do... probably put too much in at a time so I can move on to the next idea. Will try to think things through more and pace myself. Always trying to get better!
@@WilliamJusticeMedia me too, man. But Fusion tuts are becoming more frequently, we cant just approach it without a game plan. I am picking a style, a direction, and going into detail and trying to add value. I think we need more depth into each area, not more generalization - if we are to beat Adobe. So pick a direction and carve out your own niche and become the go to guy for that!
@@WilliamJusticeMedia i not sure how to get 'into' a fuse like you can a temlpate or macro, but there are some reactor plug ins that connect to audio.. so there is a way to do it... (I can't run reactor on my mac mini - crashes after 30 seconds..)
I speak Dutch, the symbol for multiplication is not an a* in Belgium but an x, which makes it difficult. for divided by the symbol is: a double point. it looks like complicated mathematical formulas to me.
OK William, here’s a challenge for you: To take this wheel counter animation to the next level, show us a more realistic example by creating the animation in 3D. In other words, each of the virtual number wheels should be represented by a wheel in 3D space. Another way to make this more realistic that does not involve 3D would involve transforming the digits to give them a 3D perspective in a 2D space, and maybe even throw in some Z-depth shading?
Hi, Thanks for the message. Its not 3D I did something kind of like that. It is a counter where I added a flip/rotate to the numbers. studio.ru-vid.comeg40CClcWC0/edit
As someone who hard-coded an odometer for my latest video, counting backwards from 9999 to 0 using keyframes, I sure wish I was better versed in expressions. 😆
Wow, that sounds like a lot of work with all the keyframing. Expressions can be a bit complicated... it takes a while to figure out how they work and when/where to use them.
@@WilliamJusticeMedia Yeah, it was not efficient at all. I found out that it is possible to copy/paste keyframes in the Spline tab though. Since the setup is in 3D space it was some simple math to keyframe a revolution for each wheel and then go copy/paste crazy. But rendering it was a nightmare. Davinci Resolve seems to have problems with resource management on very long fusion animations done that way. The only way to make it usable was to export it separatly in four parts. Expressions would be so much more elegant and probably only use a tiny fraction of rendering resources.
Hi William, Your videos have helped me a lot! I really appreciate your work. I have a question about keyframes. I'll try to explain the project: A Text node has a Slider Control named 'Number' with 4 keyframes. The 1st and 4th keyframe have a value 0, and the 2nd and 3rd have a value 100. I am trying to connect the 2nd and 3rd keyframes to a new slider which could change the 100 value to whatever the slider says. I have tried with the GetValue expression but didnt work (maybe I am missing something). Is there any way to link those two keyframes to a slider? Or something similar. (Note: from the 1st keyframe to the 2nd, the value counts up from 0 to 100, like a normal countup, and from the 3rd to the 4th counts down) Thank you very much!
Hey William! Awesome video thank you! Do you have an idea on how I would create a random value that would be determined at the first frame of the clip that stays at that value after it has been determined? I am trying to randomize the hue value for 100 duplicate clips of 1 single clip, but want to randomize the hue value to create different color grading for each clip. Any help on how to do this would be amazing, I tried "random()", but it changes the value every frame.
The expression stuff is not easy... There are bits and pieces of it all in videos, forums and diff web pages. I would want to do something and just kept searching until i figured it out.
@@WilliamJusticeMedia basicly simple ! I noticed one difference for exemple. Your "iif" expression used to be "if". How could you notice that piece of change ?
Sorry if you addressed this, but I can't figure it out. I want my counter to count from 0-9, then repeat. I've got the 0-9 part, and I've used the floor function to do this a couple more times, so I have a 3 digit counter, but I'd like to do the whole thing with expressions. There must be a way to have the counter loop after it reaches 9 and go back to 0, right? Thanks in advance for any reply. Learned a lot watching this.
Hey Will, i loop the numbers in the video. If you go to the end I break down how i do the calculations for the expression. It basically keeps track of the count... it keeps going up. Then I use a % (mod) operator on the count to get a digit. The mod operator, divides a number and returns the remainder. Ex... if your number is 326 and you do a mod operation by 10 i will always return a number from 0 to 9...,,, 326%10=6
@@WilliamJusticeMedia Okay, that's super helpful, Thanks a ton. I didn't watch till the very end because I was going for a different visual effect and thought that the approach you took would lead me down a different path. Thank you!
@@WilliamJusticeMedia Man, thanks again so much. While it took me a bit to get my results the way I wanted them, your reply encouraged me to work at it till I got it. Much appreciated, man! This stuff is super hard to someone who has a non-existent background in math or scripting, but it's people like you that make me hopeful that I can overcome my current limitations. Thanks again.
Can you explain (briefly) what are the basic syntax differences between the expression field and the full LUA script field in the second tab? How can we can assign a property from there? It looks easier to edit code from that second textbox than the first
Not sure I know all the differences.. Both the expression and the script entry areas use LUA (lua like in the expression area)....I have tried using the script entry areas in the settings tab, have never really gotten them to work very well...I put script in does not always seem to do what I think it should... can't access things... experience crashes.. things like that. I was going to try to do more with it but got frustrated. I may go back to it in the future... and try again!
Hey Bill, You have this on a scale of 100. Can you explain Or demonstrate a scale of 60? (Hrs/mins/secs) and as a countdown?... Yeah...I can comprehend, I just don't Understand. hehe Thanks.
William! First, thank you for all your great tutorials! They are so useful and well put together, this one included! Nevertheless, I have a question regarding the topic. I am trying to get a shadow on a text to slowly and randomly pulse from almost gone all the way up to 1.0. I have tried to go with: random(0.2, 1.0) and the shadow of course just flicker, but I just cant figure out what to ad to the code. Can you help?
Hi William thank you for the video! So I found this expression on Reddit by Foldable Human that starts counting from 0 to 100 and changes based on the length of the clip. This is the code: Text(floor(time^2*100/comp.RenderEnd^2)) My question is how do I set a start point other than 0?
Hello William. This is really great counter you have made. Is it possible to modify this formula and count down from specific (NUMBER1) (OVER TIME/FRAMES) and stop counter on specific (NUMBER2)? I tried to understand the formula but seems I have lack knowledge. I would really like to implement this counter in my hobby videos. The thing im after is (4 digit counter of altitude)/(specific time/frames)=(4 digit counter altitude) This is for skydiving video. Exit altitude, free fall duration, Canopy deploy altitude
It doesn't quite work like this because unfortunately the counter will always correlate with the frame counter of your composition. I made a quick test and this function might help: "max(9000-floor(time/(24/181.55)),0)". I wanted to create an example where you are starting at 9.000 feet and have 10" of free fall for your counter, ending up at 7.200 feet. The starting altitude is your "9000". "181.55" was my guess for feet per second. At first I entered 180.00 but that did not quite get me to exactly 7.200 feet. Then I slightly increased the number until the counter displayed exactly what I had in mind. Hope this helps.
just did every step....but when I get to expression, I write it as you have it there and when try to play my "ONES" "TENS" "HUND" nodes turned red and I can't see anything....any sugestion?
Thanks William for another fantastic informative clip. One question for you. Is there a way to bring data from and external text file to use in an expression?
What about a padded frame counter? I just use an expression like (time+1000) and lop the 1 off the resulting image with a mask. That said, is there a pad function in Fusion? How might you approach this problem? Great video, by the way.
Hi, are you wanting to adjust the time and start from a specific number? I have a new counter that has a bit more flexibility and options. You can checkout this video to see what I setup: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-eg40CClcWC0.html
@@WilliamJusticeMedia I did a bit of searching myself and found many answers and insights in this area on the Pirates of Confusion Discord. I also discovered that for some expressions in Fusion within Resolve, if they get too complex, just fail to render completely. I appreciate you weighing in, William.
Thanks so much... Where did i learn all that??? I have a background as a computer programmer so I cam kind of familiar with scripts and things like this. Other than that... I just watched some videos to get a few basic concepts and then started experimenting to see what I could do.
Great, as always. Thanks for the cheat sheet - is it possible to add something that covers ' time.. " " ' used in the Text expressions at some point as that seems quite different from the mathematical formats. Appreciate reference to the Frame Render scripts. I'm off to think about the challenge!
Thanks for the suggestion. Yes,,,I will add that to the cheat sheet. The .. basically just combines variables and puts them together... so.. if time=45 and comp.RenderEnd=122 then time.." ### "..comp.RenderEnd... would display as 45 ### 122 you can keep adding .. and variables or text in quotes.."TIME: "..time.." ### "..comp.RenderEnd.." more text here" things like that
Hi. I don't know if this is related to expression's, but is there a way to make animation responsive to time? I'll try to explain. Let's say we build 1sec long animation in fusion on the 24fps timeline. 1sec is 24 frames, right? Now, if we save it as a macro and drop it on a 30fps timeline, that animation is not 1sec anymore. It's still 24 frames, not 30. Is there a way to make it responsive to timeline fps automatically? Right now i have to manually adjust keyframes for common used frame rates (24,30,50,60). And save it all as a separate macros
I mean, it works for transition's with Animcurves. It basically goes from 0 to 1 based on the duration of the transition. But what about, let's say, titles? Sure, i can use animcurves, but it would be continuing animation throughout entire title duration, which is not what we need in titles. We need it to be ,for example, 1 second in the beginning -- hold -- 1 second in the end. But fusion is based on frames, not seconds or minutes
Hey, nice work. Do you know if I somehow could script so that a text shows the time when the file was recorded. For example I edit a padel game and want a text that can display what the time was when we were playing. Is this possible? The time information are in the clips, so I hope it could be done. I want it in HH:mm:ss
I don't understand why byt the way to move an object only with the X or Y center value of another does not work anymore. I can fix it, but then I can't change the other value : I'm trying to put a text under a rectangle, then put it back in, and the move the rectangle away with the text in it. So I Fixed the X value of the text to the rectangle, that works, but I can't move the text on the Y axis anymore. I already did that beforez so I don't understand why it does not work anymore... Someone can help me ?
Hi, You can try this.. math.floor(44.567821*100)/100 it shifts the number 2 decimal places , does the floor and then shifts it back. Basically you multiply by 100, do the floor and then divide by 100. It does not round the last decimal place. If you need that let me know and I can get you an updated expression. Hope this helps!
@@WilliamJusticeMedia Thank you for helping out I'm trying to build a converter between grams and ounces. The value gets pulled from a placeholder node if the name sounds weird. This does not work, I'm doing something wrong with the () maybe? math.floor(44.567821*100)/100)(Angle_G.Angle/28.34952) Angle_G.Angle/28.34952 will display the value as text This is one for KG to LB (just an 8sek clip, so you can see what it's for): ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-Ram9GutujVw.html But when I get Ounces I get a lot of decimals. Rounded decimals would be best of course.
@@DrHansBrewery Not sure exactly what you have setup.. probably just a simple thing... Try this as the expression on the text node to display the value. math.floor((Angle_G.Angle/28.34952)*100)/100 Think this should work for you! I tried it out and seemed to work correctly.
@@WilliamJusticeMedia It worked! ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-MwgRXkWxoX4.html Thank you so much. Used the min(time,100) for it to count up and stop at the wanted value, as you showed in this video.
Hi William, I was wondering if you knew how to get numbers to add up from 0 to the number of clips in my timeline, following the cuts? Either it changes the number when it detects a cut or it changes the number when I put a keyframe. Because right now, I'm trying to have different numbers for each clip so that my client easily points out clips by telling me their number. And it's really long to write each number on each clip ^^ Thanks !
In the example with squares (blue, green), 0.3*2=0.6, multiplication is obtained. A Transform1. Size*.5 reduces the green square in half, why is not the division icon used logically / how are the calculations performed? Or is this a programming language? In the example with squares (blue, green), 0.3 * 2 = 0.6, multiplication is obtained. And Transform1.Size * .5 reduces the green square by half, why the division badge / is not used logically, how are the calculations performed? Or is it a programming language like that?
@@WilliamJusticeMedia Thank you I really want to learn how to write formulas, understand the principle of connection, because they facilitate the work, and I think the render too, since you can not add some nodes such as transformation.
Hello, thank you very much to share, there is a problem bothering me for a long time, when I call exr metadata, metadata name if the metadata is arri. XXX. XXX. Such as MediaIn1 focalLength. The Output. The metadata. FocalLength can perform, but when the metadata of the metadata name is arri/focalLength/XXX, XXX,MediaIn1. The Output. The Metadata. Arri/XXX/XXX/focalLength can't perform, this situation what should I do?Thank you again for
Hi William, great video as always. Would you mind sharing your system specs or some advices on gpu/cpu/ram requirements in order to run fusion smoothly? Thanks in advance!
Thanks for the comments. My current computer is running Windows 10, 16GB of ram, Intel core i7-8700 3.7ghz processor. Graphics card: GTX 1060 6BG of ram. I have only used resolve on this computer so not really sure what the best machine specs would be. Mine runs pretty good most of the time, but can run sluggish if I have a lot of things going on.
I still don't know how to calculate the time. If after effects has 30 frames, it's 30 frames. Why are numbers separated by commas, and not integers, when adding a time expression to the node text in the text style?
Can you give me an example of the times separated by commas? .... when i was entering things into the text nodes part of that was to get things to display on the screen. Let me know which part you are talking about and I can take a look and let you know.
@@mycg544 at 11:45... that expression in the text field is displaying the current frame with a space and then the comp.render end value...it is LUA script code. The.. is used to add a display value to the output... ex. if it was set to time."###"..comp.RenderEnd... It would display 95###119... if you are familiar with programming languages it just puts those values to the output... the two does just adds to the output. Hope that makes sense.
Are you referring to when I have something or change a setting and the UI gets blurred? That is called auto proxy... If you right click in the toolbar area, you will see an option to enable/disable it.
I have a question, I've made a 'shield amount' type sci-fi hud using the 'copies' value in the 'Duplicate' node. I animate the amount of shield left by changing the number of copies between 0-19. I'd like to display a whole number that changes dynamically between 0-100% based on the 'copies' value. IE, "0%" at 0 bars, "50%" at 8 bars and "100%" at 19 bars and other numbers dynamically in between. This being said, I have figured out how to display the value of 0-19, The hard numbers of that value (ceil(Duplicate1.Copies)). I just cannot figure out how to convert it to percentages. Is there an expression that will do this?
Try this... ceil(Duplicate1.Copies/20*100).."%" if you divide copies by 20 (the total) and multiply that should get you 50 when copies=10 (half way),,, the .."%" just adds a percent symbol if you need it.
@@WilliamJusticeMedia i just wanted to know the extents (horizontal/vertical) of anything not just text objects, in the given link i only found expression for text height and width but i want the boundaries of any object's alpha channel. Also i watch your another video and find something called Publish, what is this.
Hello. Do you know if there is a way to add commas to a counter for large numbers for Resolve? Say for instance I would want it to show as 1,000,000 while still counting up rather than 1000000. I had a look around and there doesn't seem to be an easy way to do it.
I wanna do the same now, did you come across a way? It'd be helpful if you let me know. Also, I'm not sure how I can increase the number of digits in the first place. Thanks in advance!
@@sufiyanoid Yes. I asked how to on the Blackmagicdesign forums, (who are the creators of Da Vinci Resolve) in 2021. I can't post links on RU-vid, but search for a thread called "Help with Number counter with commas (Text with separators)". Someone posted a line of code that enabled using commas on a counter with the expression I desired. Should easily be compatible with yours too.
Hi, I have a question. As the expression for the center parameter in the transformation node should be written, I want the y axis to start moving with y = 0,0 in the zero frame and stop at y = 0.5 on frame 30
I used to work with a senior guy at the Victorian Department of Justice in Melbourne, Australia - his name was ... "Bill Justice" Therefore his email adress was bill.justice@justice ... 🤣