How To Make Gizmos. Nuke Tutorial.

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
so welcome everyone my name is my name is alar and i am i'm one of the senior compositing bfx tutors here at escape studios and today what i wanted to show you is how to make gizmos in nuke so and also to kind of compare them with the tool sets and i think we can just kind of jump jump straight into it i have a few other things i will want to show you uh because of what we actually do at escape and stuff but i'll leave leave more of that stuff towards the end um so first of all do check up uh check out our escape hub website so the topic today is um looking at how to optimize your workflows and how to work faster and partly this this is meant for slightly bigger pipelines but but also when you work alone you you kind of want to make sure that the things that you have to do repeatedly you can do them quicker so what i mean what do i mean by that let's let's start with this first example and then to explain to you what are tool sets so let's look at this picture here so we have a creepy looking guy staring at us or staring past us and for whatever reason i may want to shuffle out the individual channels so for example i might want to shuffle out the red channel and the green channel and the blue channel and maybe the alpha channel as well if i have one and and there may be multiple reasons why i might want to do that so for example if you wanted to make your own desaturation option so for example if you do a maximum between all the channels and in your and to compare it with a what we what we get um if you do saturation using the situation node that will give us the same result okay um or if you did an average in here or you did an average in here it would give you again the same result um it did not interesting um oh that's not actually saying average um nevertheless um if you did a um for example cc ir 601 uh what's that one mean well basically actually no let's direct seven or nine um what that would mean is that if out of every single channel i take a little bit but a different amount to take that you know twenty percent of red seventy percent of green um seven percent of blue then that's one way i could represent brightness or like a decentrated image um that's not you know the really the the topic here the idea is that i may have a reason why i might want to have my sh channels shuffled out and one of these reasons could be that i want to make my own um desaturation algorithm and in fact when i'm desaturating these things maybe in here i might be interested more that you know this time i'm actually more interested in the in the blue component so might might need more of that and and now you can see we've made our own desaturation method um that takes these channels and blends them together into this desaturated image but allows to take a different weighting another reason why i might want to shuffle out the individual channels you might want to actually do some some operations between them so if i might want to look at the difference between red and green channel and actually find out what that difference is it looks really cool but in addition to that i could use it to do for example a quick t spill so if i find out what the difference is between the green and red um or where the green is bigger than red then maybe in those areas i could i could make my green smaller effectively doing what is what is a very simple very simple d spill algorithm not a great one for this image but it works you know relatively well for the for the jacket again the point here is that i wanted to shuffle out all the three channels and doing it multiple times is is obviously going to be time consuming now there are things that can make it quicker so and this is something that um the founder recently has been quite good at uh putting up some quick workflow tutorials for as well so for example if you do something on a particular node repeatedly so for example if i wanted to uh shuffle things out of the red channel many many times and do it again and again and again or let's say i just want to shuffle green into everything and notice i'm using the nuke 11 version in here with the older version of the shuffle note but the idea is exactly the same when you when you do this and maybe you want to set a few other settings as well i like to then make this uh node green and i might want to change its label as well so say green to all or something like that green to rgba so and another time i wanted to do the same thing in a new script you know if you're in the same script you can copy paste things but if you go into brand new script you might want to do it again there's a quick option in in nuke which is you can make you can make note presets by simply saving them so if i was to save a preset and it's already done this once so let's call it shuffle green to all and the next time we we make a shuffle node and that could be in any script it doesn't have to be in this one next time we make a shuffle node you can go in here and go pick that option shuffle green to all and and it will it will it will take this take this setting for you so shuffle green tall we even get the label the note color changes the settings change so it's a quick way to to create this task preset and like i said the founder has been quite good about this i can minimize this by by by doing a few of these workflow workflow videos for nuke and then this this one for example is just about task presets so you know you can check check check that one but i still have to make individual nodes so it would be even better if i could make nodes all at the same time so if i've already made a red and the green and the blue and an alpha i would like to make them all at the same time so similar to this task preset option but but something that kind of creates all of them at the same time and um this has been around the nuke for for quite a while already um maybe even from nuke seven so so nearly sort of maybe uh eight eight nine years is an ability to create tool sets so a tool set allows you to take a part of a script and save it and to be able to reuse it later in any other script again so for example we could go in here which is these two spanners click on create and you give your tool set a name if you want a little menu i'm going to cancel this if you want a little menu similar to to this one here 2d or 3d with sub menus then as you create you can just put forward slashes sorry backwards slashes in here so for example if i have a if i do a lot of different shuffle channels examples i could i could use a forward slash in here and that would create a sub menu i don't need that for a moment i just want to shuffle channels and that will be a tool set that i create for myself so if i create this tool set and i start typing shuffle you now notice i have this these are the different nodes i have in nuke shuffle shuffle copy shuffle views but also i have this tool set called shuffle channels and when i click on that i can get this tool set available for me every single time and then i can do whatever i want with this afterwards so i can you know for example if i don't need alpha just get rid of it and if i want to create my own desaturation i can start again blending them using some different ratings and stuff so you know really then it depends what you actually are going to use this for one good example for this would be if you have a multi-layer exr file um to use as um from cg and you wanted to pass out all the different passes all the different layers and then put them back together using different merge operations and this is something that you will need to do a lot of the times in your pipeline tool sets are are really really useful for that so that's cool um and this is really you know that's that's amazing and i have friends who who don't actually really use gizmos too much they they just use tool sets and uh it's it's very very powerful and if you also wanted to share these things with other people if you wanted to use these in other other places yourself tool sets will appear in your home folder in this hidden folder called nuke in a folder called tool sets and you can see in here it's just a small nuke script that that it has just created and if i open it in a text editor it's a simple copy paste stack so all nuke scripts underneath are these little text files that tell you what type of node it is and what buttons have been changed inside and um depending on the order in which they appear in here and these uh push push and set stacks uh that tells them how they appear in a in a tree so here they're four separate uh connections connecting to one tree and this is something that you could now um share with your friends you could email this these are really really small like a few kilobytes at most so this is two kilobytes is because it's a tiny tiny amount of text and and if your friend has made a good tool set you can simply put it into this folder next time you open nuke that one will be will be available for you both under this tool set menu in here or when you just simply type whatever the tool set is called so shuffle channels great so tool sets are amazing um we could end this lesson here but we can actually go a little bit uh further with this so occasionally we might want to do things where um we don't need all this structure to be exposed to the artist so let's make a group which is a starting point for making a gizmo and let's make a really really simple group so i'm going to take this picture of this guy and let's call him tom because that's what his name is i think and let's take let's add a little glow to him so we'll use a classic steve right method for this we'll do a blur and a plus and we'll do it the old-school way which is that if you do a blur and merge it over with a plus like this and what you will find is that and that you might really just need two things in here you might need the size slider and the mix slider and that's all and um even though this is just two nodes what the user actually needs to use is in some ways much less than the options that are available to you in here so the user doesn't necessarily need to choose whether they're going to be using the gaussian filter or any other filter they don't need to this mask isn't actually being used anywhere in here anyway so it might be good to hide some of this structure from the user um you know in the given case you know for for a new compositor this this is easy um it's just a blur on the plus but uh but if you have more nodes then you might want to kind of start hiding them so what you want to do in these cases and again i could just save it as a tool set this is my glow tool set but instead i'm going to actually package this and i'm going to press ctrl g to turn it into a group so a group is a node which is made out of other nodes and in a group node we have this extra button in here which is the s to show the internals which you don't have in other nodes and if i click on this s you can see that in the inside of this group i still have my blur node and the plus node but there's also the input and output which allow this node to interact with the rest of the script so that's the input and this is the output going into the viewer at the moment and um and that's great the problem however is that at the moment we don't we don't have any controls in this but at the same time that's actually a good thing because this allows us to choose what controls we want to expose to the user so what i'm going to do is i'm going to just expose the size slider from the blur and the mix slider from the merge node and i'm going to do it the old school way first this has now been improved and i will show you that in a moment as well so the old school way of doing this is you open on the node itself you right click on manage user knobs and you can expose knobs that are inside using this pick button in here so if i open this pic you can see these are all the nodes that are inside of this group um i'm going to just cancel this so i can actually see them we don't need to but it's going to happen so let's pick and from the blur node which is in here the blur node has two tabs i want the size slider and from the merge node i want the mix slider so i can kind of fade this effect on and off and then i can give this a name and i could call this let's call it escape glow so we have two sliders there's a size and a mix and we have created our first tool now how this difference from a tool set is that here we have separated the interface which is what the user is seeing from the algorithm that actually makes it work and this is a principle from programming and from application development which is called information hiding is that the user doesn't always need to know how the internals of the algorithm actually work and compositors they do like to know they like having lots of lots of nodes but at the same time compositors actually just like to get stuff done so it's very important to only expose the kind of things to the user that gets them the effects the quickest and um and then you know leave them the opportunity to to to to to do more if they need to they can always always open this and and but at the same time that's that's kind of for you as a as a sort of software developer come in choose how to make this tool most easily usable so it's a it's a it's partly this ux design here as well right so uh we have just made our first group uh happy days um in a moment uh we will learn how to actually turn it into gizmo and share with their friends at the moment it only exists inside of this group inside of this new script but but we will turn it into a gizmo which will be able which we'll be able to share with our friends but i want to do a slightly more relevant example of this because you know just the blur and just mix doesn't quite um quite make it clear why these um these principles of information hiding or you know this this abstraction of the algorithms why they would be relevant for for this for this tool design in here so let's look at a more complicated example and in this example what we want to do is look at the additive here um two weeks ago or i think uh or slightly longer ago um we did a uh webinar on keying uh without an alpha and that was uh clement garini who who did that one for that um so i do recommend you actually going to youtube and then checking that that one out because he had some really really good techniques on how to get hair details in there and he sort of briefly mentioned additive gear as well but the technique that he shows um goes beyond that but but i will show you the additive gear because it's a good example of of functionality that can be a little bit complicated and taunting to an artist but what we could do as a tool developer or if you are more kind of technical minded and wanted to be a technical director then then that's something where um you can make it easier for the artists um by by hiding some of this implementation from them so this is a classic um keying script we have footage of a green screen we are pulling a quick key and um i have pulled a really quick and really bad key because that's the point of this tool it will help us with with some of the some of these elements i've even done a little a road in there uh to make sure we lose a little little bit of this hair details um i normally wouldn't do this but you know obviously try to try to key things as well as you possibly can but here i've just done a really really quick road just a quick quick key and and we are going to put this over the background so i'm going to disable this technique over there first and we can put so the background uh there's no grading at the moment going on either so it doesn't you know the black one's not much or anything like that but that's that's that's not for instance what we're instant at the moment is is getting getting hair detail uh for this for this background and the way that the additive gear technique works is that you look at your original green screen footage and you try to imagine some kind of an ideal version of a green screen which in my case i've just picked a constant and we want to find what is the difference between this constant and this footage and over here you can see that you know he has blonde hair and this blonde hair is brighter than the background so what we could do is if i just for every single pixel i take this green color from the background and i subtract it from the foreground wherever there is hair detail there will be something left over and and what i'm going to get is i'm going to get some values that are positive basically when something was left over but nuke also allows you to get values that are negative uh where the foreground was darker so for example if i look at these lamp posts in here these ones were darker than the green screen so in those areas i'm going to get some values that are negative and turning off the saturation for the moment we can very simply add these details to the background so if you just do a plus i'm adding some positive values over here so whatever the background value used to be is now going to be just a little bit more for this pixel here it's whatever the background was plus whatever this is on top of it and in some other cases it will be darker because i'm doing negative values so so here it was it was dark now it will be even darker and that's a basic principle of additive gear technique and the way that it works is that i already have my pre-multiplied foreground element here with alpha channel and i'm modifying the background before that i put alpha channel on top of before i put this foreground on top of it and when i do put my foreground on top of it we now have the this foreground and this extra detail that we got from this additive gear so just a really really quick kind of introduction into what additive gear does and you can also see some of the problems that you get with additive here and these problems include things like um first of all when you compare things with a really really saturated green color you're going to get colors that are all over the place so maybe if you just desaturate everything first that would already help so you can see now the saturation in here removing the saturation helps me get something that's a bit more like this hair detail and the other thing as well is with and without this additive gear this additive gear also finds all of the differences in your green screen it brings back all the tracking markers it brings up all these things that wish to be in the garbage map so you want to make sure that you mask this out and only use it where you actually need it so i would use it only for the hair in there using a mask okay so now we can see it is helping a little bit it's also giving us a little bit of a black halo but you know we can we can deal with that separately so it's a simple technique relatively you look at your green screen foreground look at the green screen background find the difference between the two and the difference is going to be positive if your foreground was brighter and negative if the background if the foreground is darker and you simply add these stylus to your background so if you're adding positive values and making it brighter if you're adding negative values you're subtracting you're making it darker and and you you really quickly transfer some of these details onto your background without actually doing any keying so to speak um so additive gear is a little bit of a misnomer because usually when we talk about keying we think about alpha channels and such whereas here uh we only deal with the colors so that's cool um but really a proper additive gear looks a little bit more like this um if you go to new competium you will find several additive gears out there and uh different ways people put this together so this is just just um just an important implementation that that i've done to help with some of the some of the issues that you get with the additive gear so let's quickly look at this missing some footage there so that is this in the given case in here we have tom and this guy has hair some hair which is dark and is darker than the green screen so if i look at some of these values they are lower so you know 0.36 0.23 so what i expect to get here is some negative values and there's some hair detail which is brighter so again 0.36 and maybe 0.37 small difference but if i look at the red values there's 0.3 and here we have 0.30 so again so these values are are brighter so here's a mixture of uh details that are both darker than the green screen background and brighter than the green screen background and i want to kind of deal with them separately so in order to achieve this we start with the same technique i'm just comparing it with a green screen and this constant green screen here is a simple one that i've made uh it's it's just a constant i just picked a color from there and you will get better result if you have an actual green screen background or if you use things like the ibk color note for this to to estimate a better green screen but what we've done in here is we separate out the negative values which is everything that goes below zero i'm using a clamp node for that so i'm just clamping everything above zero and here i'm clamping everything below zero so this way i have a branch which is the dark values everything that's darker than the green screen and everything that's right in this green screen and what these things would be so it would be this har dark hair details and bright hair details they go into these two separate branches and now using this channel shuffling that i created earlier i can choose my own blend of foreground and background details because the difference isn't going to be the same in all of the channels so for example if i look at the bright values in here i can see in in in red green and blue i'm getting a different amount of detail so it looks like you know for the bright details in the in the given case red seems to have me you know have the biggest useful difference for the negative values it's hard to visualize negative values but if i multiply them with -1 they become positive and over here we could see that maybe if i look at red green and blue it turns out in the given case it's the green that has most most information but i want this kind of control myself so here i'm choosing red green blue what gives me that the biggest blend in then they can still kind of include more red in this or more blue um but that's up to you and then what you need to do is that earlier when we did these hair details here we just made them black and white and it worked because he has blonde hair but uh but this guy here has slightly auburn hair uh with some actual color so we might want to include some color corrections in this as well so i've just added two grade nodes that would allow me to choose the intensity and color of this hair and we can put them over something like a checkerboard first and let's view it over here so we're adding it through a mask so we're just doing a little bit of these these treatments in here so first i'm going to remove the negative values so we only have the positive values only the values that make the background brighter and i turn off this treatment so initially it would make it black and white i can control the color of those i'm just grading it and i can control the intensity if i want to with another kind of gain or multiplying here and likewise if i include the the dark details again i can control how many how much of them do i want what color do i want it to be and the intensity and this intensity here is important because what you're doing here because you're adding negative values making things darker but it could be that your background is dark already in and for that purpose what we're doing here just quickly showing this is we're looking at the brightness of the background and using it to limit how much of this we're adding to the foreground anyways it's quite a big complex script and if i was to save this into a tool set and give it to an artist um who hasn't used additive gear before they would probably struggle to figure out what they actually need to do with this uh because basically you know if you just give them something like this and say you know connect that to your foreground and that to your background and you know this to your background and uh and then you know play with the sliders in there they'll be like what that's a lot of sliders and you know this is really complicated um and by the way this is not the webinar about additive gear which is why i'm kind of slightly rushing over the algorithm on this but we're just looking at you know it's a complex tool set so this is again why you might want to choose to hide some of this information and again the way you would go about this is if we just make a copy over here is to select everything that you want to include in your gizmo so let's select all of this and you turn it into a group it will ask um which node you want to use an output if you have multiple sort of open connections and suddenly the script itself is is is now much smaller hopefully also simpler you can kind of lay it out in a moment and then what you want to do now is you want to expose parameters to the user so that they know what they need to control in order to in order to use this tool that you just created so it's going to call this um escape additive additive here i'm gonna give it a number because i actually have a few in my script already um so the first thing is i have a lot of connections in here and if you just give this to someone they won't know what's meant to go into connection one two and three so if you look inside of the script you can see we have these different inputs and these different inputs have numbers on them and what you want to do is you want to make sure that input 1 will be the connection that will be the connection that's meant to remain when you turn this node off so what do i mean by that let's look at some other example quickly first so for example if i look into something like like this glow in here if you quickly go inside of this if i enable and disable this merge node basically you can see that input remains whereas it's the a input that gets turned off and you want this behavior for your whole gizmo so what you have to think of the specification of a tool what does my tool do so my tool compares foreground and background green screen and adds detail to the background so therefore it's doing something for the background so i want to make sure that if i disable this i will have the effect turned off and the background remains it's very easy to to change this you can simply uh disconnect these and put input one to whichever one it needs to be and input whatever to anywhere else now the second thing you can do to make this easier for user is give these inputs reasonable names so input one just call it background and you can see already if i go to my note graph that is now called background and somewhere here i had a so this will be my foreground and this will be my clean green screen blue screen and i didn't want it in the label i wanted in the actual name so you have to change the actual name of this thing so now you can see if i just give this to an artist it's already a little bit easier for them to start with this they can do a background they can do the foreground you've made it easier you may you know you've improved the user experience in this we also want the mask in this in our given case the mask itself is actually easy to add because we only have one merge node in the end and we can connect the mask into that so i don't have an input for this at the moment i can take any of these other inputs just label it as mask and connect it over there and that will work now so basically now i have a mask input in my in my gizmo as well so this mask input is here and i can use it and you can see it it works okay so so that's great but that's at the moment because because we just happen to have this merging indent that already has a mask input so i can expose that input and use this mask input now we want to start exposing all the connections to the nodes inside so what would i like to kind of um really do with this node i would like to control the color i would like to control the intensity i miss the gain slider for those so the multiply it either one is fine i like to do the color using again i'd like to do the intensity using again i might want it to react to the background luminance using this multiply and the mix slider in here um and that's you know more or less everything for the black you know the dark values i might also want to kind of deal with this blend values in the beginning as well uh how much red and green do i include in this origins original sort of separation and that's it i never need to do anything this clamp node the clamp node is there in order to separate positive negative values so i don't need to expose any of this so since nuke if i remember correctly 11 or maybe 10. this part here has become a lot easier because in the past we would have had to do this you have to go in here try to pick and now we have so many nodes in here trying to figure out which grade was it which gain node would be difficult so this is something that they've done to make it a lot easier for us they've now added this node editing section in here that allows you to drag and drop functionality from one node to another so i'm going to clear all of this i'm going to just open this in here and i'll start exposing some of these things in here so let's view so let's start editing this i'm going to let's talk this so let's take the the grade node and this will be the intensity of the dark values and i can drop it in here and we can simply edit this give it a good name so darks intensity and i can take the next one this will be the dark values i can take this gain and edit this give the name this will be the darks color and repeat the process i will do one more i could take this mix slider from the merge just drag and drop it in here and we would call this dark let's call it background luma limit or something like that okay cool and then we would do the same thing for the light ones and maybe um maybe then we want to start exposing the the blend options um and and but the good thing is it's really quick and easy to now um update this uh control panel of this of this node in here you can already see that now i have some sliders and it's much easier than actually looking at this to speak you know scary script um and how things are connected if you just pull the sliders you can see they they have an effect and you know that they're actually doing something so that's that's great um so what we might want to do is that after a while when you've done a few of these you will find that actually so this is one that i made earlier you might be getting a little bit too many sliders um and it starts getting a little bit a little bit cluttered so we might want to kind of start to organize this a little bit again because you're thinking of this in a way that you know someone has to use this someone who hasn't used this is going to have to look at this and and then start using it so what we can do is we can for example start grouping things so i'm going to take a group and everything that was in this light i will drop them into that group and now because they're inside of this group i could rename this group itself this could be the light details and now i could i don't really need this uh prefix here that says lights i could i could just say this is called well mix mix luma the name can still remain the same but the label could now be shorter because the thing is with shorter shorter labels you will actually have a little bit more space on this side as well um for the so this way we can start grouping these things so i'll show you what that looks like so here we have grouped our light details our dark details and i have also exposed these color difference controls so there's this color differences for um for the for the dark values and for the light values separately so so in here the the light values are using mostly the red input uh that the dark values are using mostly the green green input but because we've grouped them we made it a little bit easier and the other thing you can do as well is whenever you're adding new knobs into into your gizmo so let's look at this group that we've added in here whenever we add new knobs you should add a tooltip to them so tooltips help the user figure out how this met thing is meant to be used so if i hover over this it will tell me these nodes help you extract the details and another thing in here though this is a limitation of nucleus that unfortunately we can't change tooltips for knobs that have been exposed it will use the old tooltip for them but for anything new that we had like the groups these are something brand new that we added we can add a tooltip for them another thing that i've done at this stage is this is actually a brand new knob that i've added by taking from the top this one which is basically a a color knob so with this color knob the benefit is that inside of my blend node if i look in the inside of this in the inside it's it's red green and blue because that's the order in which they were created um but there's nothing in initially telling to the user that this is red this is green this is blue so i thought that maybe if you used a a colorful colorful knob that has red green blue we can actually make this relate so this is red is green it's blue and when you're making brand new knobs on the top level you have to somehow tell the inside to actually use them so let's quickly look at this as an example in here so let's say i want to add this this color knob for this i'm going to add a color knob and i'm going to call it let's call it [Music] dark diff okay and when we go to the inside of this we just need to make sure that these things are linked so i'm just going to go to in the inside of that script in here so this is my blend node that i want this thing to control and when you create expressions from the top level by ctrl dragging from here to here these top level controls now drive these buttons inside so you can see as i change this these things update and that's the actual expression that you'll see we're looking at this parent node there's a grade node in there which is this one in here drag them from the wrong one i wanted them from the dark difference sorry so on the parent level there's a dark difference knob and we're looking the red value for the red so again you're thinking it about it's in a way that's what's easier for the user to use they don't really need to know how you're doing the saturation they just want to kind of you know have sliders that allow you to allow them to to deal with the details a few other things is that what would be nice to have is a mask input so this one i've just exposed the mask knob from the merge node at the bottom in there so in the very end there's a merge node which has a mask input and i've simply exposed these values because i think too many gizmos in wikipedia don't make use of masks and it's actually very easy to to include masks in your gizmos so as a quick example of that if you need a mask for your gizmo but you have multiple merge nodes or something else that's making it more complicated for example let's look at uh a different glow gizmo that we made over here so inside of this cloud gizmo i have multiple merge nodes but i still want to have a mask what you can do is you can make a keymix and the keymix can have a mask input that comes from the outside and it can show you the original footage or the masked footage so if you include a mask then then it will limit the effect to an area if it doesn't it will it will affect the whole area so so adding mask is actually easy you can always put a key mixing into the end of the gizmo and and stick stick a mask input into that cool one last thing with this gizmo that we made is that i might want the viewer to have an option to look at these different inputs before they output them similar to for example a key light node in the key light node you can view a final result but you can also view the inside maps out and match things like that i might want this functionality here as well because if you've never used an additive gear you don't know what time you know these dark and bright values are so for example we could visualize these dark values or light values by choosing them here accordingly let me quickly do this and in order to do this what we would need to have is some way of switching between them so what i have created on the top is i've created a drop down menu again by just choosing a drop down menu from one of these options and in a drop down menu you you simply say what inputs you want and it will output this uh from zero one two three four zero one two three so we could include this in here so if i want the final output final output will be input zero if i want the details only because sometimes people like actually just having the data option from your comp so just just have the details only or if you want to visualize those details and they would be dark and light accordingly and then we simply need to link these to each other now again you will need an expression that will tell this switch node inside how to what to react to on this top level in here and on this top level we we are outputting at the moment we are doing a um the knob itself is called output so what we want to do is we want to tell it to look at that knob there's no kind of easy way to drag and drop this so you actually have to write this expression here so you say parent and you say output and now you can see if i pick the first one in here it's zero one two three and it allows me to output this different either the final output which is my details of the background or just the details on their own in case i want to merge them on the background myself or do something else with them maybe i want to color correct them or something this is a visualization of what the dark values are and this could be useful when i'm dealing with these controls in here maybe i want maybe what is a little bit more green in there or or you know more blue maybe component and the light values so i'm going to switch this to final output so at this stage we have made a good group but we have not yet made a gizmo and that's the final step let's turn it into a gizmo something that we can upload to wikipedia and and share with our friends and hopefully maybe impress our family as well so final bit in here you've named your node you've made this interface as good as possible uh you've also clicked on this and said edit help so you write the big help file for this uh the hell file is appears over here if you hover over this question mark and again this is something that user interface design is helpful for so make sure that you know you're making someone something for someone else so they might not know how to use this so tell them how to use it usage you know connect this and this use those controls uh visualize these things and then you know change change the color and the intensity when you're when you have it so we need to export this as a gizmo so let's do export i'm just going to drop it onto my desktop and i'll call it escape additive here and it will label this gizmo on its own so again it will be a little text file this will be on my desktop so on my desktop this additive gear is one seven kilobytes tiny tiny piece of text if you look inside it's just text this is the part that tells you uh what the panels are in the in the in the uh what the knobs are on the main panel and these are all the nodes that are inside of it so now you need to install this gizmo for nuke to know that it exists because you want to use it in a new brand unique script so in order to install gizmos that's the final bit in here we want to go to our.nuke folder and i generally prefer to put my gizmos into into subfolders because it's tidier that way so let's make a folder for this i'm going to make a new folder and i'm going to call it escape gizmos call it whatever you want as long as you remember it i'm just going to drop it in there at the moment nuke doesn't know that it exists because nuke doesn't know that it has to look into this folder so in your nuke folder you don't initially have an init py file but it's basically just a text file so you can just make a new text file which is in the python language and if you open this what you need to add in this is this little command that tells nuke to add that path to our sort of list of past look at so it will look into that folder now this is actually a file path in here because this init py file file is already in this folder then it knows that it has to look in there but you could actually type it in this fashion as well see users lr.nuke with some disclaimers with regards to using forward slashes and backward slashes in windows and linux but at the moment it now knows to look into this folder so now it's looking at this folder it now knows this gizmo exists but what we would like to have is we would like to have a button somewhere on the side on a toolbar that would tell us that uh you know that would allow us to pick this gizmo and use it so we have these other gizmos that have been stalled elsewhere so i might want one for for myself as well so what we need to do for that is we need to add a command to this menu bar in here this toolbar on the right is called we need to access this toolbar and the way this works is that in the folder that you have created you can make another text file in here i'm going to make a new text document and i will call this menu py and it has to be called that and inside of this menu pi folder file we will say we first want to access this menu on the right hand side sorry on the left hand side which is the nodes menu and once we have managed to get access to that we want to create a so this toolbar on the left we want to add a menu to that toolbar and this menu that i'm going to add i'll just call it escape gizmos because it's reasonable name and and that's enough for now and i might also want to and then i will want to actually into that menu i want to add the command which is create this gizmo so first of all i want this button that i pressed to be called something usually the name of the gizmo is a reasonable name and then what we want is we want nuke to create this node called escape additive gear gizmo so if you save this you will have to open a brand new instance of nuke so you have to close you can open it again and we should now have an extra menu in here which is this one here and this gives us an escape additive gear gizmo so that's cool and the main thing i want to show about this is now that we are using this gizmo in this new script i'm just going to get my let's get my just just a read note in here let's get three note actually let's get these two [Music] read node constant and let's get this background so i'll just quickly connect this that's my background that's my clean green screen that's my mask that i don't need so i'm gonna use this foreground and again it's great that i've used you know namings for this because that that makes it easier for me to connect them if i now save this script i'll just save it on my desktop and call it test if i open this script on my desktop notice [Music] that inside of it we only have a read node a constant the other read node the reformat node and this is where it says additive gear gizmo and even though the gizmo itself actually contains many many other nodes that gizmo now lives somewhere else so nuke you know this is why nuke will need to know and why you will need to tell nuke that if you save the script somewhere else and you take it to another computer at work that computer will also need to know to how to find this gizmo and this init py here is telling us to go and look for this key you know look for all the plugins that are inside this other folder so that's how nuke knows that there is a gizmo that's called escape additive gear so so that's um that's the important part here it only contains a reference to that tool that you have created cool that's everything i wanted to say about creating gizmos about user interface design um and and how to install gizmos onto your onto your um hard drive so finally um there are a few cool gizmos that i like using myself um there are many i've picked a couple just to just to show you as well so there's a quick listing here i will answer questions in the end in a few moments and so there's a few quick gizmos in here let's just quickly look at a few of these so stick it for example is one that was created by this guy called matz hackmartlund and it's it's great it's basically very similar to smart vectors and and came out before smart vectors and and it's a sort of a tool that uses pins in the in the spline warp by in order to do warping and it gets those spins by by doing some tracking use using a camera tracker first so camera tracker makes lots of points and it it turns all those points into pins so it's very very clever um another quick one is embers uh it's it's a quick particle particle tool set creates embers very simple then we have uh this one is is just interesting if you're if you're interested in in cybernetics and you you're a big fan of um um norbert wiener uh he had this algorithm that makes takes blurry images and tries to unblur them um which is very clever um very hard to actually make this work uh with any real footage but it's a kind of fun fun idea of like looking at this from the kind of starting point of view so if you take a blurry image you try to unblur it assuming you know how it was blurred reproject 3d which takes a position pass and allows you to project onto cg so you don't really need geometry if you have the position pass and you could project stuff onto it and that has saved my saved my life in some some tricky jobs i really like this perspective line gizmo the perspective line gizmo allows you to draw perspective lines into your image and based on those perspective lines it figures out where the horizon is and it actually creates a camera for you that it positions into the scene and that's really really nice very helpful for for still images where you can't use the camera tracker and finally um and this is just a small list of things that i kind of have found on on wikipedia this build to color one one easy way to um to dispel things better if you can choose a target color for them um and then then then use that so how do you kind of go about installing these things basically you need to download them let's try this build to color i actually have already downloaded a few of these it's very easy make an account on wikipedia do browse them um browse wikipedia follow new compete on twitter as well because whenever anyone uploads something uh it sends a tweet um so let's let's pick uh let's be canvas for example so embers has been saved as a gizmo so one thing you will find is that when people upload stuff to wikipedia quite often they actually include their own [Music] their own menu piva files and things like that as well so quite often it's not just the gizmo but for example the reproject 3d and the embers gizmo they are simply gizmos so how do you install them uh exactly the same way that you installed your your own gizmo um so i'm just going to drop it into a folder here that i have for gizmos i'm going to drop this ember's gizmo in there and i'm going to use this menu bar file for that and simply add one more line to it which will be referring to to that gizmo and when you've made this gizmo or when you've told nuke that this gizmo exists save our new script let's open a new instance of nuke this ember's gizmo here as well and when you use december's gizmo hopefully to make some members so it's sourcing some particles at the moment you can see again this is this is very good sort of uh interface design um that they've exposed uh things uh you know different things from the inside of the of the node but also expose them in a way that's um that's uh in tabs so basically it's organized it's clean um so so it it's kind of much you know very helpful to kind of have these things in in separate separate stages um so that you can kind of um you know just just just get get to using it so if you want you know a different color for this uh you know it's very easy to find you know find the button that's actually going to give you the color so if i want them to be green i can have green green embers so you know this is this is a good example of interface design but what one might want to know is how did this person actually make this and if they made their gizmo in a similar way by simply grouping nodes you can actually copy it into a group and then you can look inside of it so then you can see how they have put their gizmo together and this is really really nice about wikipedia is that people share their gizmos for free and for a lot of them we can actually see inside of them see how they work and suggest improvements and there's this whole community around around nuke users who who keep making this kind of good good and useful tools and and this is how you can kind of keep keep learning as well because quite often you don't need to make your own tool maybe there's already one that's actually out there cool that's everything i wanted to say about this i will quickly check um if there's any q a uh seems to have been asked and you know answered so i'm pretty much ready to wrap it up in here i will just say a few concluding thoughts so first of all um this uh what we've looked at today kind of you know demonstrated how to make tools within this we looked at a little bit about this kind of technique of additive gear as well but this is not what the king script was was about i just wanted to show you this is the keying scripts that my students do and this is simply you know foreground background and putting them together but actually if you try to do a good king script it's a lot of work because here for example you have to deal with things like hair details in the foreground which then actually goes soft and the background is soft but then actually becomes sharp so all this in here is dealing with alpha channels with edge treatments with with getting all these colors and details but but this is all kind of um something that you you can do if you even if you've never learned nuke before but you when you come to our courses then then you know this this is the level that that we actually teach you um so so you know it it is very thorough and then focused on actually making shots as well um so so these scripts in here they look complicated and we try to make them simpler and again that that is part of the process uh actually this is this is a tiny script when it comes to keying uh you know compared to this to this other other one in here this is this is normally what you would expect from the king script um so that's just something to kind of kind of point out and another thing is that we do have uh spaces for for courses uh that are starting in september since uh uk is still in in in kobe lockdown at the moment um there will be some some adjustments that we will have to do to the delivery of our courses but we already had to do it uh earlier this year as well so just kind of wanted to conclude this by by showing a selection of some of the student works that our students have done while they were in complete lockdown so everyone was working remotely they they started these projects just a few weeks before the lockdown but then for most of the project like 90 of it um everyone was working remotely um and and then this is the type of work that they were they were able to able to produce so i'm just going to share this with everyone now so [Music] we're just getting older soon enough cause i wouldn't go on my own [Music] let's give it a try so that's that's everything i wanted to wanted to really say um so hopefully you guys will will come and um and join our courses in in september that the plan at the moment is they will be mostly in in class but but of course we will look at uh the government guidelines there's gonna be a mixture of in class and online learning but you can also see looking at this that online learning alone has also you know created excellent output from our students as well you
Info
Channel: Escape Studios
Views: 6,253
Rating: undefined out of 5
Keywords: Escape Studios, Escape, studios, VFX, Visual Effects, CGI, Maya, Autodesk, Nuke, Foundry, I want to learn, tutorial, modelling, rendering, dynamics, texturing, animation, renderman, compositing, ncloth, motion graphics, design
Id: jTXfTKhQ9tY
Channel Id: undefined
Length: 72min 0sec (4320 seconds)
Published: Fri Jul 31 2020
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.