Live Groups in Nuke

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
okay hi everybody so thank you for joining in on the live groups webinar today my name is Terri rice at and I'm the head of creative services for the Americas at foundry now for this webinar we're gonna take a deep look into live groups and what they have to offer in a compositing context what we will be covering is a following what are live groups what they're used for we're going to explore the live group note itself and all the properties within its we're gonna take a look at live groups to be used as a share tool we're also going to take a look at them as a shared asset will also look at live groups through different examples of collaborative compositing workflows and because of that we're gonna take a look at the lot not only in the live group known but the live input node and then we're gonna finish off with some Python callbacks within the live group context so by the end of this webinar you'll have a good understanding of what live groups offer as well as how to use them in production now live groups can help solve some of today's common issues and we can be using them to get rapid updates to custom tools we're finding it's more common to have multiple artists work on a single shot as well as tax organization a comp might have multiple tasks that need to be complete and we can really segment this by using live groups and this also allows large studios to have more controls on the pipeline in the distribution of the compositing assets as well as studio tools and this can be extremely useful using live groups for individuals if you have a comp that you know that you have multiple tasks that you're working on and you want to segment it out as well as large studios so as we work through these webinar one thing to keep in mind is that we're going to be covering many live group concepts and this means that you might come up with a combination of these workflows that align with your pipeline you might have something that is more straightforward like this example we're seeing on screen that is being driven by live groups or we may have something that is on a much larger scale with a full live group dependent compositing environment with live groups within live groups that are linked to different departments and different stages of production the concept and use of live groups are completely scalable and you can really fit in to what's needed for your production so with that let's go ahead and get started so before we get hands-on with the node let's talk about what live groups are generally so there are two nodes there is a live group and the live input node we're going to cover both of those extensively the live group can be used as a share tool instead of a gizmo so it's a tool that we would create and we'd be sharing throughout the studio to various artists we can also look at it in a collaborative compositing environment so something that's very common is that multiple artists are now working on the same shot at the same time so if you had three artists that were working on it in order to get this shot complete each one would have to write out their portion of it and then it would be put together now the difference is with live groups you don't have to do that we can have the stream of comps that are going back and forth as well as just being able to write out with one write node at the end so you can think of it as a ghost script inside of another nuke script or true referencing of a script and the live group is different than a pre comp node because you can bring out any numerical data even metadata so really where it fills in is between the group and gismo workflow and a pre comp the live group is a hybrid between that covers all the features between both of them so it's a great opportunity to bring this into the workflow so with that said let's go ahead and get started okay so let's look at the live group node and see how it behaves and the properties that we have available to us for this example I'm just gonna grab any nodes it really doesn't matter for this what we want to do is just see the fundamentals of the live group and how we work with it so I'm gonna select these and make a live group from there now very similar to a group now all those nodes that we've selected are simple represented by a single node the differences we have this icon and a couple of other things that we'll talk about we have the ability to look at what's inside of it through a separate node graph just like you do with their regular group and of course if you lose that tab you can always get it back by using the show edit button let me just Park this to the side and then look at our original node graph here so all those nodes that we selected the blur the color correct and the grade are now visible here except there's a couple of other things we have the live input node and then we have an out note the live input node represents everything that is being plugged into our live group upstream the output node represents which part of our live group node graph is going to be the last node in the chain and then continue out of the live group and continue downstream so in this case it's the grade node that is the last one being plugged into the output node and that is what's coming out of the live group if I was to change this to the blur node oh now the blur node is the one that's coming out of the live group so let me just undo that and just keep an eye on this icon for a second because that is going to be changing over the next few minutes and I'll explain which each one of those icon states mean and then we'll go through it again one more time so now let's look at the property so we have very similar right now up just like we do have for a group except when we get to the properties so let's go ahead and I'm just going to float the properties panel right here and what we have available to us is a couple of things and then we have others that are grayed out so what we have available is the publish button we have under our file here we can browse and load in a live group we can reload our live group at any time we can also open our live group in a separate session so I'm going to go ahead and start the publishing of this now it's a little early to publish we haven't really done anything inside of here but that's ok we could be publishing now we can publishing later but let's really want to take a look at what this does so let's go ahead and publish and it is important to understand what we're doing when we're actually publishing so when we publish we're taking the current state of our live group and all the nodes and their property States and we are writing them to disk at a file location to an NK script so I'm going to go ahead and I'm going to take all those nodes I'm gonna write them out as a live group onto disk as a dot NK script and I'm gonna say ok so it's also very important to understand that publishing doesn't add the contents of our live group to this current script instead what it's doing is it's reading all of these nodes that are inside of the live group from an external script so they're not a part of our script until we tell them to and we can tell it to by making them editable which we'll look at it in a second so right now we'll see the icon changed it is now grayed out and the gray represents that we are reading this live group as its state on disk exactly how was written out inside of our script so we can see that we're reading this in we have it gray so when we are reading this off of disk something else changes with inside of our live group it's now locked it's represented with that little lock icon so that means I can't do anything inside of here I could try and delete this node it's not gonna happen I could even try and move these nodes I can't do that either I can try and build a node it's not gonna let me the only thing I can do is actually create a viewer because the viewer is non-destructive and what the viewer I could plug that in somewhere else and that's not changing anything inside of the live group I'm still reading it as it was written off of disk into my current script let's just go ahead and delete that for a second now if I wanted to do something inside of here I would have to make this live group editable so let me just go ahead and reload this for a second so we know that we are in this gray icon if I make editable we now see that we are in a yellow icon so the yellow icon means I have now these are no longer off of disk now it's a part of my script and I can do something with them now what I want to do next is I'm going to add a write node because we the next property we have here is this render and this pretty much does what you expect it to do but let's just go ahead and look through the example so as soon as I do something inside of this live group if I even move a node let's keep an eye on this icon we now have an asterisks beside it that means that I've changed something inside of this live group and very important if I want these changes to stick well I means I need to republish this live group onto disk either over itself a new version or however you intend to use it so let's go ahead and make a write node I'm just gonna give it a file path here I'll just call this something like this okay so now I've added a write note to it I want these changes to stick I'm gonna go ahead and publish it I'm just gonna publish it on top of itself for a moment and I'll reload this and now you can see we have additional option available because I've added the write node we have the ability to render so just like you expect if we have a write node inside of here we can render that right no doubt other options or similar ones you find on the right note they're just exposed inside of our live group so that means that we can read the file for output so instead of calculating all the nodes that are leading up to that right node we can take that output and just use that and read on from there and we can choose how we deal with missing frames just like we can with read or write notes inside of nuke now in the Advanced section we have the ability to enable an output node override so what that means is that we can I'm gonna make this editable so I can clearly illustrate what's happening here so I'm gonna make editable will see the icon change first to the yellow then I'm going to make a change inside of here and we'll see that if I don't want these changes to stick get the asterisks and I'm going to need to republish that okay so what I'll do is I will override the output node via the properties of the live group so what I'm going to do is just go ahead and grab the name of this color corrector and I'm gonna paste it in here so I'm gonna enable I'm gonna paste before I hit enter let's just keep an eye out on where this output is plugged in so over there select it and now we can see that it's jumped over to the color corrector if I was to grab the grade node and do that instead it'll jump back and the grade will be the output so this section obviously can give us a a advanced option to override what the output node is but we need to be in an editable State for that to work otherwise the entire live group is locked down if I disable this you'll see I'll jump back to the right node and then if I reload this we'll see everything straighten out and go to our original live group off of disk like that so that it covers the properties of the live group and what we have available to us we have this node section just like we do with every other node inside of nuke the live group does have the ability to copy the nodes to a group other than that way you have the postage stamp hiding and we have the ability to label a change our fonts etc but from there and let's just go over these icons one last time just to make sure that they're clear so when we create 'we have a live group that we're reading off of disk we have the great icon if we make it editable we've brought those nodes into our script and now we are using them inside of our script if we change anything within our live group we get the Astrix letting us know a you've changed something and if you want these changes to stick you need to republish now there is one more icon state and we're going to take a look at that in the next section here when we create a custom tool out of a live group so let's go ahead and take a look at a live group as a share tool so we have this custom tool that we're developing and instead of turning it into a group and then exporting it as a gizmo we're just going to turn it into a live group right away then expose its knobs and this way we can take that live group and distribute it throughout the studio to all the artists now why do this as opposed to the group gizmo well let's look at the differences we know that a live group is a hybrid of a pre-comp and a group gizmo but it's gonna fill in two interesting points here which is the version up and down without having to recreate it and you also have the ability to open the source file so let's jump out of this and this is the share tool that we're gonna be working with so it is a multi-layered EXR it's gonna plug your EXR on here we're gonna break it down into individual passes as graded and we'll reassemble it along with a couple of other things now if we were to do this using the group gives my way I would go ahead and group it and then at some point after I've exposed all the knobs and organized it I want to go ahead and export this as a gizmo now this is gonna go either in individuals machines or maybe it's gonna go on a central storage location where people are reading it out of and then we're gonna get feedback on it and then at some point I'm gonna have to update this tool and then go through the same process we're gonna have to export it as a gizmo and depending on where this lives it's just a little bit more of a roundabout way rather than a nice fluid way that we can get with the live groups so let me just undo that and we'll do it a live group way so we'll go ahead and I'll grab this here and I'm just from now on I want creating a live group because you can't create the live group in many ways but there is binded to a hotkey by default and the hotkey is ctrl or command l so I'll just hit ctrl L and I'm gonna go ahead and pick the output as my last node in the chain and there we go so now we have our live group over here and we can begin to start exposing things from with inside of it so we can even do things like we can change this live and put a name to the XR so when we do that we can see clearly where we need to plug in our XR and then we can begin to expose some knobs so for instance I can go ahead and maybe grab this diffuse grade and then over here and since nuke 11.2 this is a much quicker process because I'll be able to just go ahead and jump into edit mode it's gonna grab some of the attributes on in here place it inside of here it will add a divider line on top and then some text and maybe this is going to be our diffuse and and we want to continue to build this up so this webinar isn't about creating custom tools so we're not going to go too crazy with this well let's just go ahead and we'll add the saturation as a part of this gonna add another divider line here and text and this will be the next thing in line which is our reflection and we'll continue to go on and do this for each one of this as well as any other attributes that we want exposed for our custom tool so let's just go ahead and grab the grade node saturation node and then back here and then we'll just do the same thing and we'll end up putting a master grade overall and then we can have a nice tool that we can work with so I'm gonna go ahead and just pause this for a second build out the tool and then we can take a look at it in its live group form essentially what I want to do is fill this all in and then go into my live group am I going to publish this as a version one of the tool okay so we've worked with the custom tool now I actually want to bring it into a script and work with it so what I'll do is I'll create a live group ctrl L and I'm just going to plug it in here and then instead of publishing this time I want to use the file browser I'm gonna point to the tool it's asking me that there are local changes on the live group don't want to discard them so essentially yes I want to take all contents of this live group and replace them with the 19.22 on disk you know in this case it's empty so it's not a big deal but gives you that warning just in case so I'll say yes and now I have that tool so I can see here there is the grade tab that I have all the exposed knobs that I can begin to work with but let's take a look at something else inside of here so I'm just gonna hone in on this area and pull out a bit so we talked a bit about earlier is that if this tool gets developed and there's newer versions of it then we can quickly load that up through the live group rather than exporting the gizmo again and having it done that way so what this means is that if I'm an artist I'm aware now that there is a newer version of this tool what I can do is select my live group node hit alt up arrow and now I have version 2 of it and we can see those nodes that have changed inside of there this is quite nice because I can be thumbing going up and down between the different versions to get the latest ones so depending on how this is done maybe it's overwritten or maybe we're doing it in V versions I will be able to have access to it just like that throughout the live group so let me just go ahead and close this pane now let's focus in on the other icon state so we can see we have the grade icon it's locked down we're reading this live group as it is on disk now if I might go jump over to the new tab and start to use some of the attributes just keep an eye on this icon you'll notice this is the other icon state so what this is telling us is that there is an override done to the live group we're still in a lockdown State with the live group but for the knobs that are exposed we've made some changes to them and this is a nice handy thing that you can see quickly right away just by glancing at the icon we're test also telling us on the knobs represented by these yellow squares that these are the exact knobs that have been overwritten so if I go and make these changes you can obviously see here and we have some options that we can deal with when we do have these overrides so I can right click on an individual value and then I can go ahead and revert the override to live group values so that'll set it to the default that was packed in with the live group itself I can do that individually or right click and do that to all of them Solar vert all the knobs to the default and this is exactly how the live group was on disk that little icon disappears because there are no more overrides on here you can even do things like this this comes quite handy if you're developing a tool or if we're working with maybe non so not so absolute numbers like the ones and twos depending on the type of Nod that we have inside of here is we can actually change this to apply the override value to the live group and make this the new default so in order to do that let me jump over to my live group I'm gonna have to make it editable and then I'll go back to this tab and now I'm going to go ahead and apply the override value to the live group so now one point six two as opposed to one is the default value for this again I can do it individually I could do it to all everything at once and now these are the new defaults now of course if I want to make this thick I would have to republish it so this is extremely useful in compositing situations but also for tool development situations where maybe you know you think the default should have been this but it makes more sense to be something else rather than having to redo anything else you can quickly adjust the knob and then make that the new default so I'm not going to keep it so I'll just go ahead and reload that live group and yes so we have this one directly off of disk so another important thing about attribute overrides are the ability to go through versions and have those overrides stick so if I jump back to my grading tab and I make some overrides on here and let's say this tool gets developed further so whether it's being used for a custom tool or any other type of live group as soon as I change versions of it so I'll go down in this case or you generally would be going up but all those attributes are staying here so that means that these overrides are being done inside of this new script it's not affecting the actual NK that is the nodes that we are reading off of disk into the live group itself so this means that if this tool got developed further new new iterations of it everything that I had going on here will still stick around I'm not gonna lose any of this work I can continue forward with it and that goes not just for custom tools but for whatever you have contained in your live group so that's great now I can go ahead and in two grade with this I can use this ad and go ahead and adjust make any adjustments that we want to on here let me just go ahead and grab this over here and then make changes with inside of here and we'll see that reflected on screen there we go let me just change it to something obvious here okay so what we're going to take a look at next is the ability to use live groups as sort of a style of an asset manager so let's take a look at how we can use the live groups as a asset so we have this script and there are a bunch of stock footage --is now rather than me browsing through the file explorer and playing them first in an external movie player and then deciding which one I want to try out and bring it in I can have these all contained within a live group to make the asset much more usable and manageable so what I can do is I have all of these I'm just going to create a switch node from there and then what we're gonna do is turn this into a live group so I'm gonna select ctrl L and now we have the live group okay what I want to do is I'm just gonna split this up off into two and we're gonna expose website and do that when I expose the switches knob over here let's look at our live group so I'm gonna get the switch get the live group jump into edit mode select my switch knob bring it inside of here let's name it like fog type and this is coming from a switch I'll leave that and then like if I jump out of here now this is all contained within the single live group we have the switch node as the output and that means I can go ahead and thumb through all the different ones we can see what's happening inside of the live group it's doing the switch between all of them so maybe we want to take this even further I'll put a gray node and in the grade node I'm gonna describe my lot of group I'm gonna expose some knobs from here so maybe I'll just add a divider line below the fog type grab some of these place it inside of here and maybe the mix and then I can go ahead and let's call this our fog assets right here so just be fog and this will be our fog tab now I will jump out of edit mode and then I can go ahead and begin to publish this maybe under the node type though I will actually just show a postage stamp so we can see which one that we're dealing with and then let's go ahead and publish find the path we're gonna call this fog asset great so when you publish the fog asset group now the advantage of this is just like it was with the custom tool this is my starting library of fog but as more things get developed maybe we have some CG fog maybe we have additional stock footage that has come in we can go in and expand this library out and then continue to plug more things in we save it as either on top of itself or as a new version and then in that case I can just go ahead and alt version up now artists have access to the expanded library rather than just dealing with that single one so a nice advantage of working with stock footage assets any types of things that you have inside of here maybe it's different 3d setups maybe it's different projection setups you can have that all packed into a live group that we can be exposing certain knobs from and then loading into here we even have other some dust in here or maybe we could create one for that have a dust asset explosion fires etc I get the general idea but it's a nice way to use live groups to control assets as well so next we're gonna take a look at collaborative compositing workflows and all the different types and also begin to look at the live input node so let's begin to explore different collaborative compositing workflows using live groups and the approach we're gonna take and the workflow we're going to take is using a master script so that means that we're gonna have all the assets in a master script and we're gonna create live groups out of them so this might be a plate that needs to be keyed something that needs to be rode a camera that needs to be tracked or maybe CG than it needs to be integrated and when we create these live groups we're gonna have that dot NK on disk now the artists are going to open those dot and Ches and they're going to be working inside of them and these are the subscripts so from here they'll be saving they'll be versioning up and then we'll have these returned into the live group so we're either reloading or up to see the latest progress of work so at this point we'll have this nice stream of comps that are going back and forth between the live groups and the subscripts now these subscript artists don't need to render out at any point because we can do all the final rendering from the master script and get everything out in as a single output this is very helpful because even if these are all work-in-progress is we may be getting dailies much quicker we can see how the shot is turning out with all the different elements and we can start making decisions at that point let's go ahead and look at the first example okay for this example we're gonna take a look at something pretty simple as far as the workflow goes because we want to get our heads wrapped around working with the master script and then working with subscripts as well and once we get used to that then we'll start introducing some more complexity into the script and see how we deal with that as well as looking at other workflows for live groups in a little bit let's look at this shot that we're gonna be working on here so we can see that we have some CG we have a plate and we're gonna have to do some compositing in here if we look at the plate itself we see that we have some tracking markers that need to be removed if we go ahead and look at the CG well we are very far from it being integrated so a lot of work is gonna be have to be done on that before we can continue on so what we'll do is as a master script we're gonna create live groups so we'll have one for the plate one for the 3d and then on this side we have some auxilary information that's going to be useful for everybody we have a camera track we have some mats so we're gonna package all these into individual live groups for this shot now once we return everything inside of here we'll be able to write out quickly so we're gonna do the final grading inside of this script and the nice thing about this is we can start getting returns on the work very early start making dailies out of this and see if things are working do we need rear Enders what the what's going on overall is a shot and then we can make those decisions much earlier on again we won't have to wait for everyone to render out we can just go ahead and decide to do that from here so let's deal with the plates first and foremost so we're gonna make a live group out of this plate we want to remove the tracking markers so left some notes here somewhat tasks that will be coming in a little bit later on but a good idea would be to package in a also and this live group is a right node and the reason being is not gonna necessarily ask the artist to write this out but what I want is the ability for me to have the option to write that out from the live group node itself and we saw earlier on that we were able to do that if there's a right own included and this is a good idea because if this comp gets quite heavy these subscripts I can at least do that depending on how you work you can have the artist already having doing that and have that set up but I like that I'm doing it from the master script I have control of the path of where it's going to go I have control over how I want the compression to work and what information I want out of here as well so I can set that up package it in the live group so let's go ahead and create a live group I'm going to select the plate all that information and we're gonna go ahead and publish this so let's find a path of where we want to publish this I'm going to put this and we're going to name it's very simple just to keep things straight is B gfg so let's say this is just the BG of course your naming conventions will be much more complex but let's just keep this simple for this example whoops am i doing that's talks and K and okay so now we've made our first live group for the background plate it's already on disk now let's take a look at the 3d side of things so we have I know a lot of work that's gonna have to be done on here I'm let's go ahead and package and also write note for this we're gonna go ahead and make sure we put it in the right part of where we want it to so let's go into the FG output folder we have and just like that okay and then we're just going to change the compression type as well as I want to make sure I have the Alpha Channel for this and now we have that option if we need to when it comes time to render and we could also do something else we can maybe package in another live group because we did have that tool the render pass tool that we created earlier on so I'm gonna go under tools grab that and then place that into the mix as well so they can go ahead and use those tools so let's go ahead and select this all and create a live group I'm going to ctrl L we're going to publish this and this is going to go into our foreground script so we'll call this very simply FGM fees or one oops NK okay so we do have this additional information that would be great if both artists have access to as well so first thing we'll do is we're gonna grab the mats and let's go ahead and create a live group out of there publish this and let's find a path for this I'm just gonna put this under x-ray info let's say I'm sure that name is not extremely creative but you get the idea so Matt's and start m'kay and then the same thing for the camera track now the camera track is a little bit different because we actually want to preserve what we have in this camera truck I don't want the other artist to be using this directly what I want them to be doing is expression linking out of here so another in order to do that we're gonna have to go ahead and expose some knobs from here so I'll go ahead and I'm gonna select the camera itself and actually let's go in sorry let's make a live group out of that first so let's go ahead and ctrl L so now we'll see when we create this live group we do have multiple live inputs inside of here and the reason being is because the 3d nodes have multiple inputs actually any node that has multiple inputs will get it automatically a live input when we create a live group so this is very handy you know if we actually want it to make something that's a little bit more useful and have the artists use this then we can go in and begin to clean this up name things properly so there in order to plug things in but in this case I just want them to pull out information so instead I'm gonna delete all the live input nodes so now we see we have no live inputs coming in from here and I'm gonna go ahead and select my track camera select my live group I'm gonna expose some knobs let's grab the animated information that is inside of here and I want to pass that along to the user so I'll just go ahead and grab down to the window scale place that here and then let's go ahead and rename this something like camera and for internally for this script for the live group itself I'll just call this camera track I'm sorry for the exposed tab okay so I'm gonna jump out of this and now I can go ahead and publish this so let's go back into our folder here and I'm going to call this camera track just like that and publish it okay fantastic so now we have set all this up we're gonna wait for things to return in the meantime I'm gonna set up a position for grading we can start testing things out maybe move on to other tasks but now that means that all these artists can begin to work on their shots so let's first take a look at what the background artist is having to work with we can open the comp directly from here and switch gears will become the background artist and the background artists themselves would actually be an opening nuke navigating to the network and then opening up this script off of disk so let's go ahead and become the background artist so as the background artist we're gonna go ahead and open that script so we're opening a script through the normal open dialog remember we're now loading this in as a live group for these subscripts I'm actually just opening up I'm gonna work on it we're gonna save it and then in the master script we're updating that live group so I don't need to create a live group out of here I'm just using the open dialog as this background artist all right so let's examine what we have in here we have our plates there is the write node and there is the output node and we can see that we need to remove some markers inside of here okay so if we look at the shot we know it's moving in Zed space so we're definitely gonna need a 3d camera and we have that camera track already set for us so we're gonna create a live group we're gonna call in that tool so let's go ahead and open that up and let's explore what we have once we load this in so right away we can see that we have our camera tab up here and all the knobs that have been exposed and that we have access to now we're gonna go ahead and create a camera inside of here and the reason being is if something changes to this camera track I guess we're find there's a new version of it it gets updated all we need to do to get that information in here is to either reload this live group or version it up to the next one depending on our workflow but that way we don't have to worry about loading new things in through files or looking forward etcetera the live group gets updated and then it propagates so this is especially useful because more than one person is going to be using this so everyone at the same time can quickly either reloj or update or the next time they open their script inside of here they'll have the latest version of it which is quite useful especially it's it'll spread throughout multiple users so okay I have my camera and my live group so let's go ahead and begin start making some links out of here so I'm just gonna control alts or command alt and go ahead and spread any animated things inside of here so let's grab our focal length whoops like that and our horizontal and vertical apertures and the last couple of things so any animation that we have on here so now we can see that we built this expression link out of here and you can't do that with the pre comp notes this becomes very handy this way because any numerical data and metadata we can pull out of that live group directly into our current script let's go ahead and name this something like shot cam and then we're set to begin to work now instead of watching all that happen I have a toolset ready with the markers removed so let's just go ahead and do that like this and fantastic all the work has been done so now what we can do is go ahead and make a merge I want this to be my a pipe here and sorry this will go might be in my aim and then we have a work in progress on here where the markers are beginning to get removed now let's get this output node and actually this into the correct position this should be down here so let's go ahead and place that and build this out a bit better here I'll clean this up wonderful so now that we've done some work on it we can go ahead and save this I'm going to save this as a new comp version so now we're at BG v02 so now at the same time that this is happening the foreground artist can be working on their portion of the script okay so now we're the foreground artist so let's go ahead and we're opening that script off of disk and we can see what we have inside of here okay so we have our CG I'm going to need to integrate it with the played screen renders are going to be happening for this and use the IDS for masking okay here is our write node our output node so let's go ahead and send this down the line and obviously we're gonna need to be able to see what's going on to start grading let's go ahead and call in the background script so let's make a live group we're gonna point to that background and we can load in view one is raw we really need at this point but let's bring in v2 why not and we have it now inside of here so that means that we have our plates that we're referencing in and actually we'll see the cleanup as it goes along so we can also see the shot progressing as we work through it and let's go ahead and look so now we can see what we're dealing with in and how what we need to do to clean this up we have our live group tool that's been nicely packaged along so we have all that information we can begin to start grading inside of here now I do want to bring in some additional work data inside of here and that is the maths and the 3d camera as well so I'm going to go ahead and under our extra info let's go ahead and bring the maths inside of here and also that 3d camera so again because we've made that master live group story at the camera track as a tool if things do change and get updated now the foreground artists will have it the background artists will have it we don't have to worry about somebody not or getting that information so maybe for this section for the auxilary data here I'm just gonna make a backdrop for it and leave that packaged off okay so now it's time to go ahead and begin to grade on here if we look we need to get all our black and white levels matching there are completely off so what we'll do is go ahead and I'm gonna progress through this so we can have some progression as we load in these updated live groups in the master script let me go ahead and say this as a new comp version and then we can go and check it out in the master script so back in our master script we can begin to load in the newer versions of the live groups so we have that nice stream of comps going remember the artists don't have to render anything out I can choose to do so from inside of here if we want to make things a little quicker maybe it's starting to slow things down so okay let's look at our background here let's just name this BG and we can see that we had those tracking markers that needed to be removed so let's go ahead and I'm gonna select the properties and alt up to load the next version and there we go the tracking markers have been removed okay so let's look at the FG live group so let's go ahead and have a look I'm going to alt up and to version two so oh oh there is an issue here and the issue is that the plate is actually a part of this version two of the live group we just want to have the CG we already have our plate in its own separate live group so let's see what happened here let's go in show and if we look inside of the live group we can quickly do that and see what is going on here well the issue is that the output node to the right inner output are after the merging of the live group with T plate now remember we only brought in this plate as a reference so we can do our color grading so in actuality this shouldn't be plugged into this merge we should be plugged up over here where there's still the cg and the Alpha Channel but that's okay because we can create in a different output node for here so let's just see this is the one that it should be plugged into so what we'll do is we'll make this editable we will enable this and then change the output node to merge two and that is actually what it should have been so now you can see how it is on top of here okay great so we can see if maybe there's more progression on here let's go up we're gonna just disable this and go up to version 3 and oh yeah much better integration at this point we have screen renders that are coming inside of here we have some of these little renders on top of the various canisters and containers down here so at this point now we're in a better position and the shot is progressing so we still haven't done any grading on here just yet but let's add some more complexity into this shot what we're gonna do is introduce a fourth person that's going to be working on this script so we'll have four artists working into here and we need to get that person integrated as they've come in a bit later and they're gonna be responsible for adding atmospheric effects throughout the shot so now that type of work means that they don't need necessarily all these assets inside of their comp but what they need to have is this the plate the integration of the CG essentially where this master script currently is so let's think about how we can achieve that if I was to make a live group out of this so they get access to it they know they'll have access to the background the blade the foreground plate they'll have access to everything where it currently sits the problem with that is that I'm destroying my master script workflow I want things individual inside of here in case I need to do more work I need it organized in his fashion I don't want to change that so I don't want to turn this into a giant live group the thing that makes most sense is for that artist who's working on the atmospheric effects to reference in everything that I've been doing inside of here so this is where we can introduce the live input node remember the live input node will take whatever is plugged upstream from it and then show it in a single node so let's go ahead and set up the workflow for that situation so how that works is in a brand-new nuke script you know we wanna make sure all our project settings are set correctly etc frame rate frame range and then what we're gonna do is we're gonna go ahead and create a live input node and then an output node and once we do that we want to go ahead and save this script so I'm gonna save comp as I'm gonna go ahead and put this in my atmosphere so we'll call this just copy this name here quickly v01 and that's an excrete have this safe to disk I haven't done anything inside of it here yet but I'm going to reference in the master script inside of here so what I'll do is back in my master script I want to set up a live group so that person can reference whatever is upstream from it so what I'll do is I'll just for a filler I'll make a dot I'm gonna go ahead and create a live group and then I'm going to now I'm not gonna publish this live group what I'm gonna do is point it to that script that was saved called atmosphere so now in here I've created a live group it's pointing to that empty script for the moment but that's okay because that's going to give the ability to see whatever is upstream from here so they're gonna be referencing the master script in so I'm gonna save a new comp version so we're now at version three now back in my atmosphere script in my live input node I want to point to the master script right I want to reference in the master script so let's go to Master Script b03 and then from there let's go ahead and look through it now there we are what I'm seeing is everything that was in that live group right upwards so what I'll do is actually just name this correctly so I'll call this atmosphere merge even though it's done it was call it atmosphere make it simple I'll save this and then back in my atmosphere or comp I'm just gonna go ahead and reload this and we can see the live group that we're pulling in so now it's updated to the latest name here so we're pulling in that atmosphere live group we're referencing it through the master script and then now I can go ahead and continue the output of what's being plugged in here is the result of what's happening in the live group in the master script so that means now what I can do is go ahead and let's call in our share tool that we made so let's go in and grab that extra info the Fogg assets I can go ahead and merge this inside of here and this is gonna be a screen merge and let's go ahead and see where we're at now we're gonna need some more complexity to this we can start to pick out what looks good for what type of atmospheres we're gonna be using inside of here but we're definitely have to call in the 3d camera something like this because the shot is moving we're going to need this atmosphere on cards maybe using the depth to help us blend throughout maybe if we render it in deep we could be using deep compositing as well so from now on the artists can begin to work so what I'll do is I'll go ahead and save this atmosphere effects back in our master comp we can go ahead and reload this and now we can start to see and inside if here are some of the fog that is happening so at this point we can continue to progress further I'm gonna go ahead and bring in also some of the grading nodes and then we can finish off this shot so back in the master compare ready to wrap things up so we had four different artists working on this shot and now we can go ahead and and just get the latest versions and finish it up I already have the grading happening inside of here so we are ready to get this out now it's been nice about this in the meantime as these versions have been progressing I've been able to write this out to disk been able to view it to see what needs to be worked on make notes go ahead and then update the background the foreground the atmosphere and really work through it in a nice cohesive way and this nice stream of comps didn't have to render out of here first and there first I kept everything in control in this master script and then you know as things returned I was able to update so let's update the actual foreground to the next version so version four that's great so we had between three and four you can see the actual mattes were coming into play better and putting things behind the areas that they're supposed to be and then let's finally upgrade to version 5 is where we ended off with this with the final fixes on everything now nice thing also I was utilizing was this render button so rather than rendering out and the other comps I was rendering out in here so I pretty rendered this one just before starting this off screen so I can read that file for output now you see the live group turns green means I'm reading from that right now that was inside of the live group which is great so now let's go ahead and go up with the background just a couple more fixes to some mall shadows and adding some additional just fixes overall in the plate and then the atmosphere okay so remember the atmosphere was coming in from the live input node so we were able to reference in this entire master script into another script and you should use it that way and build up these effects so now we have the atmosphere represented by this node let's go ahead and version up to the next version much better we have it integrated we can see a little bit in front beyond using the z-depth as well as other compositing tricks to get everything nicely inside of here so then all that's left was the grading so we can call this shot complete we have a full grade done on it and we can go ahead and let that play through and we were able to have four different people work on the shot really control everything from within this master script we started off with just the raw elements created useful tools and assets using the live groups as well as distributing all the footage the CG to get this shot completed with multiple people so now we're gonna take a look at a couple of other workflows and then a little bit of tips and then wrap up the webinar so let's look at a different workflow where we're utilizing the live input node for each one of our tasks so for this shot we need to have a key a camera track we're going to be putting the backplate on a card as well as some atmosphere our effects on cards in 3d space as well so now if we want to get these different tasks out what we doing is and prepping and I've already prepped is each one of the tasks we have a key tracking backplate different nuke scripts that are already set up just with the live input and live output node along with the correct project settings for it so what we're gonna do inside of our master script is now create a live group we're gonna go ahead and plug a live group in for each one of these different situations here so like this and what we want to do is reference in those or point to those scripts that are on disk they're blank at the moment but we're going to be working on them so the first thing I'm going to do is for the keying one we're gonna go ahead and point to that on disk so we go under our key and we point to that and then for the camera track we're gonna do the same thing for the tracks and then we keep on continuing on for each one now a good idea is not only that we's we want to rename these live groups so they're something that makes sense let's go ahead and grab the last one here and let's just rename these so this is our key our track our backplate and then rfx so what I want to do now is go ahead and save the master script so I'm just gonna save it and then if we go into our initial keying one now so we open up the King and the artist is going to begin to work on it they have the live input node and what they want to do now is go ahead and point to the master script they want to reference it in so they're gonna reference in shot one master and now they have access to the key like or keying live group so then that means they have all the information that they need in that live input node and in this case it's going to be the plate so the idea is now we can go in and begin to build out our key for this and any other tools maybe we have a custom king tool already set up inside of here that's being plugged into the output and then we'll begin to version up this comp so we want to keep EZ Row 2 0 3 etc now we're gonna repeat that for each task so the tracking we're gonna start building our track out of there and our master script will be able to expression link the camera data out of there if necessary as well as for the back plate getting it in 3d space and then the effects so the general workflow for this is that we were not packaging in this time the actual plates or the main assets inside of here they're all going to be accessed through the live input nodes in these subscripts so this way we're keeping all of this footage in here things get updated we can let people know there's a new plate or the plates been revised or whatever the cases and then they can be go back into those scripts version up and keep on continuing to work or tweaking to the new plate that's been chosen or the different effects or the different backplate etc so let's go ahead and build those out of it and then we'll begin to version up back in our main script so back in the master script the artists have been updating their subscripts and we want to go ahead and start versioning up now for you know maybe this artist well these two artists need access to the camera track so once the camera track has done they can be creating a live group inside of their script and calling in the camera track as it's beginning to work out I'll just get things into position and start trying things out and then they conversion up as it gets refined so back in our initial what we want to do is version things out so just made mergers between the different elements and we want to begin to version up on it so let's go to the key first let's go ahead and just gonna collapse these and then I'll just alt up over the note here and go to version 2 let's take a look so this is our version 1 or which we start off their plates version 2 and then let's go to version 3 where things get cleaned up even further so we can begin to place things on here let's do the same thing with our back plate going to version 2 so let's begin to have a look at that and then even our effects let's version up to the next level as well and so what we're doing this time is we are keeping all of our actual footage inside of there as we talked about before and then we're versioning up so we can begin going in and getting our final grade and writing this out to disk so a different approach rather than packing everything in with the same result using the matress script and then calling things back in so now let's take a look at another thing and that is taking a look at the same situation except we're going to be using live groups not the live input route what we're gonna use is live groups to actually package custom tools that we may have throughout the studio so that means let's take a look at it for example if we all have a keen sort of template that we work off of in the studio or at home or wherever you're working then we're going to package those in to live groups instead so I'll load that up and then I'm gonna make it into a live group so once we do that there I'm not gonna go and clean up all the inputs but we should be going in and naming them but what we're gonna do with this right away is publish this and we'll publish this as the King Live group so just do King okay and already name that's a key and now that we've published this to disk what we'll be doing is waiting for a return on it to update this to reloading it or getting a new version so what does this mean that means that that artist can is working on a fresh new script and what they're doing is they have the plate that they know what their work that they're working with they're going to create a live group and they're going to all in that Keane live group that was created so that means that they now have access to all the tools and sought over our custom set up but the difference is that they're going to be making this editable they're going to be working with the tools inside of here all the different nodes inside of here to get their end result and then they are going to version up and publish a new version of this so that means in v2 was if we publish this we publish this to v2 back in the master script over time we would want to be updating this to the second version third version etc so a little bit different of a workflow in the sense that we're packaging custom tools inside of here so the camera tracker would be a part of this one which we're gonna be making a live group from etc etc so live groups that are not pointing to those blank scripts where we're gonna be working on and then returning it and the artist will be able to see with the live input nodes this time we're packaging studio tools inside of the live groups but the key difference is that not only are we loading in the source footage inside of this script we're also loading it inside of this so a little bit of different of a workflow but definitely an alternative as well so let's go ahead and take a look at another style of workflow and this workflow is very different than the other ones that we've been looking at so what we're gonna do is actually open up a live group script using the open dialog so this render passes tool that we made earlier instead of creating a live group and loading it into the file browser we're actually going to just go ahead and open this open it as a script inside of nuke so that means now we have opened it up all the inner workings of it or is exposed directly inside our node graph it's not in a sub node graph with a live group that means when we don't actually have a live group note in here we're just working with it inside of it okay so let's go in and load some footage at this point I have some here put it right into there okay great so now that means that we have our node graph exposed we have our custom to load it in but there's a little bit of a difference the difference is they know I don't want to have to go individually for all these properties because there was time spent already having that done right like there was the tool that was set that has all those properties on one single pane so you can actually do have access to all of that because what we've done when we've loaded this in is we in our project settings if I just click over here and hit s you'll notice that we also have the great a tab that was exposed so in our settings now we have access to all those custom tools or the custom knobs that were built out for this tool the big difference is that we are actually seeing the inner workings of it we're actually everything is exposed and not collapsed into a single node and that means that we can go in and add any additional not nodes that we want to fix for each one of the avenues so whether that's something like this where it's breaking down passes or whatever the case is whatever type of workflow it is loading the actual tool in as a script you have access to all of it all of those exposed knobs in the settings now the trade-off with that is that you'll notice I've been moving these around and since it's not contained in a live group I'm not getting those attribute overrides on top of here the live group overrides and that is a bit of a difference so that it's a nice that you can work this way but it is a trade-off by not being able to have access to the overrides on here so definitely a different style of workflow that can also be useful and it really depends on how things are set up or spread out to artists throughout the studio okay now the last thing I want to talk about in regards to the workflows before we move on to the next sections I just want to circle back for one second and talk about the live input to make sure that all the avenues are explored and that you're aware of all the possibilities so what it happens if we have a live groups that are created inside of here there's nothing inside them but we're pointing to the same working file in other words we have a lot of new script with a live input and output we've saved it out to disk and all those four live groups are pointed out it now when we go ahead and select this live input in reference in the master script we have different options that we would normally see and what that means is that now we can actually choose which live group that we want to be represented by the live input node so we can go ahead and toggle through them just want to show you that as you may find this useful and in a different style of workflow or if you're ever using the live input node and you want to be crapping in different like groups from it this is also a possibility so with that we'll wrap up the workflow and move on so those are the various ways that you can create live groups and use them in a collaborative way so whether you use it in live input or the live group and you can use a combination of any of those workflows whatever makes sense for your pipeline but also that may be completely new avenues that can be worked on and thought about using live groups but those are some pretty common ways that you can be utilizing the live group and the live input node now we talked very early on about how you create a live group is pretty straightforward right we grab some nodes we go ahead and hit ctrl L and then we begin to arrange the nodes publish it but you can actually create a live group in a different way as well and we can do that by by actually just making sure of two things so what we're gonna do is we're going to save this as a nuke script we're not going to create a live group node and we're gonna publish it we're gonna do it just directly from this script and you you might be doing this because you know you just want to get going on a tool you don't want to even create a live group and you just want to start going on and saving or maybe you're joining into a master script later on in other words you're working externally or you've been working on this for a while and that you want it to be a part of the live group so how you can do this is all you got to do is make sure we'll use the custom tool as an example is we're gonna get rid of the footage for a minute we've already planned out our tool and make sure that I have a live input node and then I'm also gonna make sure that I have an output node at the bottom of it now what I want to do is just save this as normal and if you notice and you're go ahead and and s to get your settings we have an option is live group so we can tell a nuke to save this as either just a normal nukes script or with a tagging it that it is a live group that we're actually creating inside of this new script and by doing this this is going to ensure that we don't run into any unexpected behavior loading in the live script because technically you could load any nuke script throughout your live group file browser but you might have some unexpected behavior so we can ensure that this is considered a live by tagging this on so what I'll do is I'll go ahead and just say this comp call this one off and then I'm gonna go ahead and save the same comp as and I'll call this one on now let's open that up in a text editor and you'll quickly see the difference so here we are this is the off nuke script and we can start to see the familiar information that we have inside of it but if we look at the one where we selected is live group and that was turned on you'll notice right away that there's big difference down here right so we have the live group info which is not included when we normally save a nuke script so this is another way that you can also be creating live groups without you know packaging them in into a live group node and exposed which is no the standard way of doing it but just in case you are working on a script or a custom tool maybe you were working on it before live groups were introduced you can always save that out as a live group just by hitting that switch so I think that wraps up about the most of the content of what we're going to talk about the last thing we're going to take a look at is some Python inside of the live groups so before we wrap up the webinar let's talk a bit about what we have available through Python with live groups if you're using a nuke version before 11.3 this will be a different experience because all of these actions are now controlled with the API and the old callbacks were actually on the nut live group note itself so those have been removed and replaced so the new functions are listed here first one is we can go ahead and make it editable it used to be called make lovel make local previously to 11.3 we can check to see if a live group is published and we can return a boolean on that we can also check to see if the node is locked returning a boolean as well as modified again returning a boolean we can also apply and revert overrides through Python so we can do applying on a knob reverting knob basis as well and a couple of more additional things that may be a fun useful is the ability to remove callbacks to event ID and as well as clearing the callbacks so now let's go ahead and put one of these into practice we'll just try this live groups modified so what we're gonna do here is we were scripted etre open and what we want to have a look at is if one of these live groups has been modified so that's what we'll do and if it is will tell the know to change one color and if it's not we'll change tell it to change it to another color so what we'll do for this is just to make sure we modify some of these so I'm gonna make it editable jump inside of here and just move something around it's fine so now we have the asterisks there and I'll do the same thing with this one so I'll just go ahead inside of here I'll make this editable and then move something around here so now we have the asterisks on both we can begin getting our scripts going here all right so let's begin writing our scripts now we're gonna be doing this by the selected node and check if that selected node is modified so we'll call our object that we have selected and so it'll be do nuke dot selected node and we'll bracket that up and then from there this is where we're gonna use that callback so a result of this and we're talking about our end object and we want to use that modified we want to check if it's modified and let's spell modified writes to make sure that we get this there we go and let's see and if it is modified so if the result of that is true well then we're gonna tell it to do something and our what we're gonna do is change the color of it right so we have our n knob and we're gonna use the tile color so we'll go ahead and use the tile color and we want to set the value of this tile color so let's go ahead and set the value and we'll give it a value in a minute let's just go ahead and copy this out and if it is not modified or any other situation then let's go ahead and give it a different color so I have a couple of hex colors that I have saved it's gonna go ahead and paste them in here and then let's go ahead and try and run the script so you have to excuse me my Python knowledge is in X extensive so hopefully this all makes sense when we go ahead and it actually works when we run it so essentially what we're gonna be doing is if we have a node selected we want to check to see if that live group has been modified to the live group callback and if it has been we want to change the tile color so they node color here to yellow and if it's anything else if it hasn't then we want to change it to blue so let's go ahead and run the script and alright it worked so there we go it is now yellow so let's just copy that and we'll try it out through the rest of them so let's go ahead and paste and we're just going to run that and so we have that one it's blue it has not been modified and paste it in there and run that as well and this one should turn yellow okay so now we can see which ones very clearly have been modified which ones have not only by the icon but we've changed the entire color now I'm using this for a simple example we're changing the tile colors but you could be stringing in a whole bunch of commands if necessary so there's a lot to explore using the Python in live groups so that about wraps up the webinar so thank you very much for watching we covered a lot of information and I hope it was useful take care
Info
Channel: Foundry, imagination engineered
Views: 6,017
Rating: undefined out of 5
Keywords: nuke, webinar, software, compositing, nodes, visual effects, vfx, collaboration, computer generated imagery, tips and tricks, python, autodesk, workflows
Id: emUHK11e9AA
Channel Id: undefined
Length: 65min 11sec (3911 seconds)
Published: Tue Apr 02 2019
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.