|Making a space scene the Battlstar Galactica Way using Lightwave3D, Digital Fusion and the benefits of OpenEXR Render Buffer Image Saving with exrTrader.
Part 1 (Lightwave Break Out)
Part 2 (Fusion Compositing)
Check out what OpenEXR can do when you know what you are doing!
|Forward: Life on the Big Show.
Hi there out in Lightwave 3D Land!
My name is Kelly "Kat" Myers. You might know me from the NewTek Lightwave3D forums as DJ Lithium. While you are reading this tutorial I highly recommend you tune into my trance radio station with winamp by clicking here. http://www.blacktigerrecordings.com/trance.pls or visit www.blacktigerrecordings.com for more tunes!
OK, so I used to work on Battlestar Galactica Seasons II and III as the Visual FX consultant for the show. Of course that means most of the time they ignored me even though I was just repeating back to them on the methods instructed to me by "senior staff" (most of which can't install their own Lightwave plug-ins or check their email without my help) during my early days on the show learning their methodology. It was my job to tell them when they would deviate from those methods and give them a head check to avoid producing questionable results and a lot of head aches later on down the road. Too bad "they" forgot this was my job. I hate being the guy that has to say "I told you so"... but...
Among other things on the show I would also run the render-farm, maintain all the systems, break out shots, conduct research and development sniffing out possible land mines and telling them to avoid them only to have them ignore me and step on them anyway and point the finger back at me as if it was my fault some how, and from time to time when I wasn't dealing with a bitchy compositor who shall remain nameless and the constant office politiking between the LA and Vancouver groups, I would do some art.
And that is what this is about. Making the best shots possible with the tools you and I both love - under the worst of circumstances - Fusion5 from Eyeon Software and Lightwave 3D from Newtek!
When you need to get stuff done fast and make it look absolutely top notch, those are the tools you need. Remember, the best features some of the "other standards of the industry" software out there that you have to choose from - are their marketing campaigns. Lightwave and Fusion are no B.S. tools. If you want B.S. and need to feel part of the so-called "in-crowd" while they market errr, offer training programs at 20,000 a year at some "arts school for film and tv" go get Maya or Max, work in Combustion, piss off and be in debt somewhere in the corner. While the processes described here in this tutorial are pretty much able to be carried over to any 3D/2D package combination, I can't stand most of the people who work in Maya or Max and I am certainly sick and tired of Combustion people who are always the first in line to say it can be done but hide under their desks when it comes to crunch time.
Battlestar Galactica uses Lightwave 3D and Fusion. GET OVER IT! No maya, no max, no XSI. A little combustion is used by the "mullet man" down in LA but well, that's just him and he's falling down as we speak. The output speaks for itself until he gets his hands on it and makes it look goofy from shot to shot with the occasional "snuck by him shot" that looks amazing, all done in Fusion and Lightwave.
On the 3D side, absolutely everything we do on BSG was straight out of the box Lightwave for the most part. No separate rendering engines, no custom code. If you felt that some shots in Season Three of BSG were trash, I agree with you. But don't blame the tools. Blame the VFX Supervisor of the show. He's ultimately responsible for the look. Keep in mind this is the same guy who did the mini-series and seasons I and II which rocked. Makes you wonder what went wrong? Anyway...
In this tutorial here today to show you how we would normally break out a space shot and then composite it to achieve kick ass results in the most efficient manner possible. Something that didn't happen much during Season III to my absolute disgust and to many of the fans of the show out there who saw a lot of questionable shots from time to time that really looked inconsistent. I am not pointing any paws here, but the point is when you break from established methods and run off in some weird direction without doing the proper R&D or ignoring the R&D you asked for by the guy you hired to do that, just because it might make you look like an idiot, well you will probably end up looking like an idiot anyway so don't do it. Trust is a two-way street. Anyway, point is if you stick with a plan that is well thought out and run tests that result in the look you are going for. Go with it! Optimize as you proceed, but don't break something if it works. And don't fix it if its not broken. Still, continuing to produce stuff half-assed doesn't help even if you have a "work around". The ultimate work-around is to solve the dammed problem.
Makes sense right? Well not much on BSG makes sense any more. Like killing off Kat and Starbuck and that side trip to New Caprica mixed in with endless and usless dramatically, flashbacks.. BOOORING. And lame. So much for the "Best show on Television".
Anyway, before someone accuses me of being a disgrunted ex-employee of General Electric Pictures Productions Inc. (the production company that produces BSG for Sci-Fi which is owned by universal and NBC which is owned by General Electric... wow, what an inbreed corporate structure...) let's proceed.
This is my first real full on Lightwave tutorial of any kind so be gentle. :)
While I am going to use Lightwave3D9.0 and Digital Fusion 5.1 you could use just about any compositing program out there, but please consider this... If you are not using OpenEXR format for output of your renders from Lightwave3D via the db&w exrTrader plug-in for Lightwave 3D and compositing those OpenExr images in a program that can read them, then you need to highly consider it. You can check out the OpenEXR exrTrader plug-in for Lightwave 3D at www.infinimap.com. It's stupid cheap, works and saves a shit load of time. Otherwise you might want to spontaneously combust.
I am not going to be using a super computer to do these shots either. Just an off the shelf eMachines AMD Athalon64(SingleCore) +3500 with 1GB of ram on XP Pro 32bit running a simple nVidia 7600 series graphics card. Although I highly recommend if you have the ability to do so and the ram, go 64bit XP and never look back.
Alright now, let's get started.
Making a Scene Master!
A scene master (or master scene), is just as it sounds. It's a master scene were all the elements are combined into a single Lightwave 3D scene and from that single scene we will break out the other scenes needed for the different render passes and then throw those into render. The purpose of having a scene master and making dammed sure its absolutely correct to start with is important for a single reason. Conformity. The importance of this will be come stupidly clear as I progress through this tutorial.
To begin I am starting out with a very simple "space scene" featuring a Cylon Raider and a set of Colonial Vipers against a simple star backdrop. Included in this scene are the stars, the engines for the three types of craft, a main "Key Light" and if needed interactive lighting and volumetric particles. Yes those wonderful life forms known as hypervoxels! Kats love hypervoxels! They stick to the paws sometimes so you have to be careful. =^..^= I am going to keep this scene to the very basics so I am not going to do HVs here. But the important thing to remember is that if something in a scene needs to be controlled in the compositing process you have to make it possible to adjust that element independently and that means either rendering it out separately or defining it in a Render Buffer saver as an isolated element for control later in your compositing program.
Let's check out the basics of our Scene Master.
Ok we have in our shot the following elements.
In addition to these engine lights we will also have cockpit lights and helmet lights to deal with for each Viper. These will have to be broken out as well, but because they are for the same ship type I can break them out into a single pass on their own together instead of separately for each ship. Same goes for the Engines for the Vipers, but the Cylon Raider will have to have its own Engines broken out independently because of that color correcting issue with the Viper engines. Otherwise I could do all the engines in a single pass and probably get away with it. Each scene is going to be different depending on your compositing needs. To be safe break each scene down as much as possible. Keep in mind though that with each additional break out pass you will be adding render time not only to your Lightwave farm but also for your compositing both for rendering and for interaction in the software while you work on it.
If we can't see anything well, we are screwed so thus a camera is in the scene and producing our wonderful render results. The settings made to the camera in the scene master are absolutely critical as are the render globals. Setting these up properly in the scene master assures that with each broken out render pass (scene file) made from it will be conformed to those camera settings not only for rendering settings like anti-aliasing, motion-blur but most importantly resolution! I nearly jumped from the loading docks at the Vancouver Film Studios lot (5 feet high, oh my) when I would get shot break outs from the Los Angeles group - because for some reason every second or third file I would get would have out of whack camera settings from no AA to odd ball resolutions. By making sure you set your camera and render globals correctly in the first place you avoid breaking out a scene with varying parameters hitting the render farm and ultimately wasting your time. Please note that I have traced this problem and others to the use of the "dope sheet" scene editor in Lightwave instead of using the process I am going to describe here to produce shot break outs. If you use the dope sheet to do your break outs you are asking for trouble because of the fact that things are much more buried and easily forgotten about when doing break out of a scene for a show like Galactica because you don't have to physically associate your actions with the mouse movements with what you are doing affecting the properties of whatever it is that you have to change from break out to break out. That's why this process I am detailing here can be followed from top down and produce the same results each time by going step-by-step while you build in that "muscle memory" of actually doing it. I can break out upwards of 30-40 shots in an 8 hour day (yeah like we ever worked those, more like 14-16 if we were allowed to go home at points) if I am not constantly interrupted by a PA who can't check his email because he's been downloading spy ware along with mp3s on company time. Sigh.
Having broken out several hundred shots on the second half of Season II alone and encountering just about every single scene error possible in the process, I know what I am talking about. What made it maddening of course was that the people (the L.A. group) handing these busted scenes over to me were the very people who trained me (some of them being so-called "legends in the Lightwave community... frankly in my opinion they are more like Lightwave's albatross instead of legends) how to do this in the first place using this method and smacked me on the head when I made mistakes early on for the very same reasons, but took offense to it when I said "hey you left this on and that was set wrong and its different from pass to pass in the same shot, what gives?". Thank the gods Lightwave is the fastest rendering system on the planet because these guys scene break outs were huge time wasters not only in fixing them but if a mistake was missed, sucked up render-time. I am only Kat, and well I do miss things from time to time when each pass had something screwy with it on a consistent basis and i was forced into checking every single setting across the board to make sure they went it render correctly because "management" would never admit that the "legends" they hired actually sucked at basic Lightwave operations. You know, it's Hollywood. It was my ass if farm time was wasted so I developed this shot break out system to save it. But alas, I was reprimanded for doing just that. Even though I was also saving their collective asses as well in doing so. Like I said before... It's Hollywood.
Anyway, my camera settings are going to be as follows. These are considered the "series standard" for Battlestar Galactica with a couple of exceptions.
Camera Panel Settings for our Scene Master! Note that our shot will have stars in it and those are effectively "paricles" as far as lightwave's rendering engine seems them. So that means having particle blur turned on. Also very important if you have HVs in your shot. Turn this on now and never stress about it again.
Now let's talk about Render Globals. You notice that I have it turned off in my camera settings. Normally this is okay but when dealing with idiots (not you, but "them"), I recommend you turn it on and then set your Render Globals to match for Anti-aliasing and Motion-Blur at this stage. This feature alone for me was worth the upgrade from 8.5 to 9.0 :) Thanks NewTek! Ensure that your Render Frame range is correct!
As I mentioned earlier my settings are a little bit different for the motion-blur section. I hate the look of dithered motion-blur frankly. I would rather turn up the Anti-Aliasing when using the classic camera to Enhance Extreme (33 passes of Anti-aliasing) with Normal Motion Blur than use Enhanced High Anti-Aliasing (17 passes) and dithered motion-blur which takes the same amount of time to render it seems. Honestly when you are at the classic camera's highest level of AA for Normal Motion-Blur with the advancements of Lightwave 9.0 and now even more so with 9.2, that so-called "studdering ghost" look most peope associate with the Classic Camera's motion blur and Lightwave in general, iis effectively gone while at dithered motion blur at 17 passes of AA still looks a bit goofy and has those damd comic book printing style dots across your image. BAD! Motion blur doesn't have "dots". Come on. Dithered motion-blur was original designed for use in fielded animation renders. It's of little use today when you have progressive frame formats as MASTERS and the kind of AA speed that Lightwave now has over above its already stupid fast processing from previous versions that make dithered, well look a bit dumb. But that's just me. I also don't like the results of how it looks in the compositing process. Do what you want to in your Render Globals panel and your Camera panels for your scene master, just ensure they are consistent and matched in your scene master file so that ever file you create from this master uses the same settings.
Moving on, once you have your Scene Master Settings finalized check them again. Here is a quick check list.
|FILE NAME CONVENTIONS - STAYING ORGANIZED NOW!
I am going to touch on the delicate and somewhat controversial subject of file name conventions and directory structure.
An established and agreed to directory structure system with proper file revision and naming conventions is like a language. So when your VFX producer says "hey I need you to take a look at the viper passes for BSG_303B_44x01" you know where to look for them regardless if he is asking for the 3D elements that make it up or the final output render or the rendered layers from the shot.
Here is a simple guide.
This drive is simply a big fat fast RAID5 box (5.6TB) mounted and shared on a fast server with all the systems on the network seeing it with read and write access and labeled as x:\ when they open up their windows explorer.
Then we have a directory called "Renders Episodic" and under this we have a directory for each season, then each episode, then each shot number for each episode. From there it breaks down into each element for each shot complete with revision numbers so you can find out where you are. And just for safety we have an "_old" folder. The underscore _ there helps to force the directory to be shown to you if you list the directory contents from alphabetically and well underscores come first before "A". Nice and neat.
This directory matches the same structure as our Scenes directory, which has an "episodic folder" under it, then repeats as above in the following example.
So when you need to find out if you have to go back to fix something where it is for either a composite or the scene file that made the renders its easy to find your way.
Again scenes for that shot BSG_303B_44x01 can be found here: x:\scenes\episodic\BSG_SeasonIII\BSG_303B\BSG_303B_44x01\
While your renders from that scene can be found here:
And for the fun of it, your Fusion Composites would follow a similar structutre. Here is another example.
Your Lightwave images and objects directories should also follow a similar structure so you can find stuff easily, same goes for your "plates" directory that you pull from transfer like TGA sequences for each shot and episode number. Break things up into categories that make sense, and stick with them. It will save you a lot of time in the end.
*Note that under each of these directories you will find either files and folders or both that contain revision numbers in their file name that make some kind of logical sense as to what it is!
Here is an example of our directory structure and naming conventions. See the revision number and how it has the full episode and shot number in the path?
|Here the example above shows the file "BSG303_042x08_R02_Master_R01.lws"
This means simply its Battlestar Galactica, episode 303, shot number 042x08 Revision 2 and the Scene Master Revision 1. Why two revision numbers in there? Well basically someone came up with two different takes on a scene or a slightly different change between them but presented them both for review to the producers. They took their pick and that was revision 2 (R02) and for our purposes in-house the Master_R01 just means that this is the Master Scene file R01 version from which all shots broken out below that in the break out directory will also have as an extension. This way if we need to go back to R01 found in the root of this shot and make break outs from that we can understand that there is difference.
Okay, so now that you have your Master Scene file and you went through the check list above, save your Master scene.
Name it something like this if you are going to follow my example.
Then we can start with the break out process. This is where it gets fun. Especially when you have to do 30 or 40 of these a day.
Here is my master scene in Layout. Notice how the volumetric engine lights are still loaded, as well as the key (off screen) and the raider eye? Load everything in to your master and then break it out pulling bits out you don't need for each pass.
|Step Two: Breaking out a Key Light Pass.
On Battlestar Galactica almost always our space scenes have a single key light in them. It's how the key light pass is broken out for render that gives the compositors the flexibility to control the two primary elements of how this pass breaks down that's critical.
In the old days... before buffer export technology, which is actually years ago, but for some mid-way on season III of our show, people had to break out their key light passes by hand, meaning that the "Affect Specular and Diffuse" setting for the key light would be toggled on or off for each pass (Diffuse pass has just Affect Diffuse enabled on the light and vice versa for specular key light pass). Today however we know much better.
We have render buffer exports! Joy! Even better is renderbuffer export support through exrTrader!
Now that you have started the break out process of saving out scene files, make a directory under your shot number folder called "Breakouts" and in that directory save your Key Light Pass file so that the path two it would be like so...
Now you can proceed to break out just the key light.
Start by eliminating all lights but the key light. When you built your scene you did label it "Key Light" right? Delete any other lights from the scene quickly through the Classic Scene Editor in Layout.
In addition I need to remove the engines, the cockpit and helmet lights for the viper pilots and the Raider "eye" which isn't just a light, its also a set of objects. Those also must go. When you have your stripped down "key light" scene this is the point depending on your compositing needs you make the determination if you want the Key light to be broken out for each ship as well, so you can adjust the results of the key light diffuse and specularity for each. I am going to keep it simple and leave it alone and just produce a single key pass scene file for the lot of three craft.
We now need to set up our saving options and render buffer exports which will split the Key Light out to Diffuse Color and Specular Color buffers and save the results to OpenEXR format along with the "Final Render" result, an alpha channel and any other special buffers that I would like to select. This is where I will delve into the OpenEXR plug-in saver from db&d called exrTrader for Lightwave 3D.
One Light Wonder!
|Step Three: Key Light Pass Settings for Render Buffer Export with exrTrader.
exrTrader from db&w is an OpenEXR file saver that takes advantage of the different buffers Lightwave's Rendering Engine has and saves those buffers that you can choose out to a single OpenEXR file (*.exr) or to multiple files individually named and stored to individual directories all at once.
If you have exrTrader (its approximately 60.00US and worth every penny) you can find and load it in the Image Processing tab as an Image Filter. Hit F8 to bring up the "Effects" panel and select processing to begin, hit the "Add the image filter" bar and find the exrTrader plug-in in the list. Then select the edit bar and hit properties for that plug-in. A quick note, if you have any other image processing tools in this list, make sure exrTrader is at the end of the list so that the results of those image processing plug-ins and tools are taken into account before the saving process is run during the render step.
You will be presented with a window much like the one here on the right. >>>>
Let's explore this window quickly. By default it comes up and has the "Buffers" Tab enabled and shows you that the Final Render Buffer is enabled. Below that is a description of what that buffer actually is in this case it is the final render of the scene exactly the same as what you would see hen you hit F9 and do a rendering directly in Lightwave Layout. Below that is a drop down box that gives you the ability to load a pre-determined preset of selected buffers and the Pixel Type, plus other settings shown in the area directly below it. Making a preset is a great idea so we will do one here once we turn on the buffers we need, and change a setting or two.
You are going to want the Final Render Buffer on for everything, so leave it "enabled". Change the pixel type however to 32bit Float. I use 32bit float pretty much exclusively now for anything I do in Lightwave even if I don't really needed, because I have found that its better to have it as a choice instead of a 16bit version when it comes to compositing certain elements together. By having those extra bits, you get more "range" out of Lightwave's render right from the get go and that translates more or less in to what most people would associate with "Film Latitude". In the compositing process this means you can push the values in an image with say a Brightness/Contrast tool much further than an 8bit or 16bit image before it clips the limits of the brightest or darkest pixels stored in the image.
Keep going so that you are only left with a list much like mine on the right here, ensuring that for each butter you have turned on, that you have 32bit float selected as the pixel type for each one as well.
When you get to "Depth" change your settings for the Minimum and Maximum to 0.0 and 100.00 respectively. Keep the scale at 1.0. I will explain later on how this is helpful down the road in Fusion.
Check your settings again! Should look like mine here to the right. >>>>>>>>
Make sure you chance the "Render Mode" (Layout Only) Menu to "Viper and Save Buffers".
Once you are good to go you can then make a preset by selecting the "Presets" tab on the top of the plug-in window and selecting "save preset". Give this a useful name when you are prompted to do so and hit "Global" so all users can access it. That's probably just you. But what the hell you have to pick something. I suggest making it a name like "KeyLight_Preset_Rfct-Diff-Spec-Lum-Trans-Depth-Alpha" or something along those lines so you know what's turned on in the preset simply by looking at the name of the preset itself. Save that preset and close down the exrTrader window.
You can now go back to the render globals panel and under the output tab choose a RGB(A) set of saver options. If you are rendering over a network you will need to choose a saver in the list of savable formats called "OpenEXR Dummy". This saver "tricks" Lightwave's Screamernet rendering engine and various render controllers into waiting for the Image Processing plug-in portion of the exrTrader component to complete and save out a file before shutting down the operation and moving on to a new frame to render.
OpenEXR Plug-in From db&w - exrTrader. Default Settings on start up.
here is the window for exrTrader again but now shown with only the buffers I need turned on and 32bit Floating point selected as my pixel type.
While you are doing this make sure you select a path for the OpenEXR Dummy Saver to an appropriately named file and folder consistent with your directory structure. Then do a test render and check this directory to see if indeed you have things set up right.
Once your test render is complete you can open it in Fusion5 and check out the results selecting the different buffers visible there, or you can check it out with TV Player (google that) or a similar OpenEXR compatible format viewer that supports individual selection of OpenEXR layers.
Now that you have your Key Pass scene set up, save it again and then put it on the network stack for rendering while be break out our next scene. If you don't have a farm available, just move on and render out the scenes on your own spare time.
Under the render Globals Output Tab, select the OpenEXR Dummy Saver. Click the tumb nail below to see!
|Step Four: Fill Light Pass Settings for Render Buffer Export with exrTrader, and a free Spinning Light Rig for you to use!
Our next step is to break out the "Fill Light" Pass. A fill light pass in Battlestar Galactica terminology is simply to make use of the "spinning light" trick to fake a Radiosity style render. This light set up isn't hard to build when you understand what it needs to do. For the purposes of this tutorial I am not going to get into how to build one. I am going to just include one! Ah yes! Straight from the archives of light rigs from Battlestar Galactica to you, comes the 24fps 28 Distant Light Scalable Intensity Cluster. Tim Albee and I actually re-built the original spinning light clusters that Galactica was originally using in-house because that one was producing some questionable results, producing frame flickering and texture popping on some models.
You can download this LWS scene here. You are free to use it as you please! Just use it correctly.
It is designed for 24fps Lightwave Scenes. You can load it into your existing scenes or fresh with a model to test it out by choosing "Load Items from Scene" in Layout and choosing all the items in the loader option window. Make sure you select all the lights contained. You can skip the camera however as you won't need it.
You will however need to make sure you have your RT Shadows option is set to on when using this light rig because this is how it works. In addition to this you will need Motion-Blur Enabled to see the results properly. I highly suggest that you open this scene up on the side and check out how it works and the render times it can bring in vs. full on Radiosity of any type. As the name of the file suggests, this rig is set up so that you can scale the null the lights are parented to and they increase or decrease in their intensity. This makes it adjustable for any scene needs you might encounter. Very handy indeed!
Check out the screen shot of the Spinning Light loaded on its own into Layout. Study this scene closely and try it out.
I am going to go ahead and load this rig into my Key Pass Scene instead of re-loading the Scene Master and then going through the process of removing the engine and cockpit lighting for speed reasons. The reason for this is that when you are working with several dozen shots and have to move fast, its quicker to go from the break out of the Key Pass and then build your Fill Pass from that. Typically the two longest renders for a shot on BSG are going to be the key and fill passes. So I like to get them in there first. Especially the Key Pass because I can use it once it's done to start blending the layers found in the OpenEXR file immediately and then as the Fill pass comes off the network completed, I can throw that in to my composite and while making those tweaks my interactive and volumetric lighting is cooking and those are usually fast renders. Remember, this is about speed and efficiency in a render pipeline while remaining flexible. If it turns out I have to change the position of the Key Light in my Key Light Pass after it's rendered, no problem! I can simply make that change after seeing the render results and make that determination immediately if its required or not after it goes through render while everything else for my passes is probably fine and doesn't need any changes. This is the benefit of doing shot break outs in the first place.
Now that I have my key light deleted, I am going to save this scene file as my fill pass. Don't worry, I am going to go back and change my save out and OpenEXR buffer saver settings immediately once I have saved this scene with the proper file name.
Blow away your Key Light once you have your Spinning Light Rig Loaded!
Now that my scene file is saved as a "Fill Pass" using the same file naming conventions I described above, I need to change my OpenEXR Buffer Saver Options and the Saving Path for the Dummy OpenEXR Saver.
For a "Fill Pass" I am going to use slightly different settings in my OpenEXR Trader buffers than I did in the Key Pass, as I typically don't need to have all of the same buffers selected, so lets do that now. I am also going to make a "Fill Pass Preset" while I am at it so I can save time later.
(Check out the options I selected for my fill pass)
Once I have my buffers selected, I am going to close this down, go to the Render Globals panel again do three things. First, I am going to change my saving path for the exrTrader OpenEXR Dummy and use an appropriate folder and file name with revision number for this render to be saved out as under the Output Tab. The other is to go to the "RenderTab" and turn off Ray Trace Reflection, while leaving Ray Trace Shadows on because I have to have it on in order to achieve the correct "faked radiosity results".
The third and last thing I am going to do is turn off Particle Blur. Since there are no particles in the scene and even if I was breaking out a "Particle Pass" I would only need particle blur on for that pass only. Making a fill pass for volumetric particles specifically volume particles or sprites is for the most part stupid and a huge waste of time. In some scenes though, depending on what kind of object you are working with it might be needed to have it turned on if you have single point polys in your object for some unknown reason (usually a mistake) that need to be blurred as well.
Anyway, check out my frame here taken from the "Final Render Buffer".
Looks a lot like a radiosity render doesn't it? Dammed rights it does and renders fast and clean and also is full 128bit! That means a 32bit Alpha Channel, and 32bits of Color per channel as well. But it doesn't stop there. I also have buffers in there too and its all contained in one nice package.
|STEP FIVE: BREAKING OUT THE CYLON RAIDER ENGINES|
|This step is pretty straight forward and things are going to go a lot faster now.
I am going to now reload my Scene Master, and delete all the lights in it with the exception of the Cylon Raider Engines. I also need to nuke the stars. We will do those last. But don't forget them!
It's much easier to do a shot break out from this point by going back to the scene master and reloading it rather than pulling the engine rigs in to my key or fill pass and then bolt them onto the ships. Same goes for the eye. It's simply faster and cleaner plus you always ensure you are putting things in the exact same place each time because you are not actually "putting things in" you are removing things already there from what effectively is a template.
|Once I have the shot set up with everything gone that I don't need, I go back to my Render Globals panel and choose my saver output path for the Cylon Raider engines using the Dummy OpenEXR Saver.
I then go over to the Image Processing panel (remember, F8 to bring it up quick) and get my exrTrader Buffers set. I am going to use the preset I made for the Fill Pass here because if I want to suppress say, the luminosity of the "helmets" of the Viper Pilots I already have that channel available to me in the composite from the Key Pass. Brilliant!
One last thing though, which I always have setup regardless, because its a default scene attribute that I use no matter what, just to be save, is that I have "Flare2Alpha" inserted just above the exrTrader Suite. This will ensure I have an alpha channel to work with for my engines or any other flare/volumetric properties to these lights and that the Flare2Alpha Image Processing Plug-in takes effect before the saving step does in exrTrader, capturing the results in the final render buffer image.
Now that I have this pass ready to go, I can move on to the next step. But first, save my scene something consistent with my file naming conventions, and throw it onto the network for render.
|STEP SIX: BREAKING OUT THE CYLON RAIDER EYE|
|Now because of the way this shot is designed, the Vipers never obscure the Cylon Raider or its Eye Light, and its unable to affect the surfaces of the Vipers at all for two reasons. 1. The Raider is facing away from the Vipers (this is a chase after all) and 2. The Cylon Raider Eye itself has a Linear Fall Off to it. So beyond 25cm or so it's not going to contribute light to any objects beyond that whatsoever. For the purposes of speed, during scene load and actual rendering on the network, I am going to remove the vipers completely from this pass. If however an object crossed in front of the Raider Eye, it would have to remain in the scene to obscure it correctly when it did so over the course of the animation. Same goes with any kind of light set up that is going to need to be obscured and that goes for Engines, Helmet Lights, Key Lights, etc. If something is going to pass in front of it and that "something" is between your object, light or particle and the camera it needs to be there at some point in one of the passes. It's just easier on the compositor of course to do it practically here rather than them using another pass's alpha channel to do it in the composite later on. Not to mention faster.
Again, I nuke all the nonessential stuff. The stars, Key light, all of the engines, the vipers. Because the Vipers engines and cockpit lights/helmet lights are all attached to each other I can simply delete the main viper object or flight master null (everything on the show has one or should because of this) and it takes out anything below it as I don't need the vipers in the scene at all, at least for this pass.
For my exrTrader Settings I am going to use the same ones that I saved in my preset for the Fill Pass, then make my changes to my save out path and save the scene as RaiderEyeLightPass before throwing on the farm for rendering.
Check out the openGL representation of the scene. Notice just a hint of the effect on the raider and the eye plates. It's kind of a goofy rig so its effect isn't really shown until you put it into composite and crank its levels.
Ok so I am back after a few days of playful glee after my copy of Worley Labs Fprime3 was releaed to me. OH WOW!
Kats love Fprime!
Continuing on now, I have my RaiderEye Pass and the Engines for the Raider as well rendered out. Let's take a look quickly at the results of the Eye put into my composite.
(Click the Image for a Larger View showing the Eye in the Composite, not much to see for the raider engines because of the current point of view, but they are in there for the Raider)
Now let's take a look at a screen capture of Fusion5 to see how this flow is looking so far.
|STEP SEVEN: BREAKING OUT THE COLONIAL VIPERS|
Keeping up the momentum now with getting things out of LW and into Fusion so we can finish our shot, the next set of passes we have to take on are the Colonial Vipers Engines, Cockpit Lights and Helmet Lights.
I am going to start with the Engines first since those are more sexy than "helmet lights". Unless your into helmet or something. I don't know. Don't ask don't tell right?
Ok, back to the Scene Master! Once I have it reloaded I am immediately going to blow away the Engines, Eye Light and Eye Lum' Objects for the Raider. I am going to keep the raider itself in the shot here just in case it passes in front of the engines and they are being obscured. I probably could blow it away, but for the purposes of the tutorial I am going to just keep it in there. I also need to remove the Helmet and Cockpit Lighting Rigs, the Key Light, and stars.
Once I have all that taken care of I again need to set my saving path for the Dummy EXR Saver in the render globals panel and then set my buffer saver options in the exrTrader Plug-in itself. Remember to insert "flare2alpha" before the buffer saver though in the image processing list or you won't get any alpha channel for your "engines" since they are technically a kind of a lens flare to Lightwave.
Staying in form, we can again save this pass out using appropriate "namage" and throw it onto the farm.
|Viper Cockpit Lights:
Same process again here, reload my scene master and continue, but this time I need to remove the engines for the raider, the eye light and its supporting objects, the vipers engines, helmet lights, the key light and stars.
I am going to use the same buffer settings for my exrTrader plug-in as I used on the engines. Once that's set up and I have my saving path set, I can save this pass out as my "Cockpit Lights" pass and again, throw it into render.
You can see this process gets faster now that you have built up a memory of where things are and how to get rid of them. You just have to remember what you are actually producing as a pass clear in mind. So as to not confuse myself, I usually have a note pad open on my desktop and check each pass out and make a text file as part of my render farm management process, copying and pasting the names of the final passes, and the paths to them to that notepad and going down the line as I complete my shot break outs, checking things off one by one. This is part of the reason why I go back to a scene master most of the time because I can't look at it and say "oh, I am building a key pass because that's what the file name in the Lightwave window says for my current scene". It's going to say "SceneMaster" in there somewhere so no matter what I am going to know I am building something out of that master, and to not save over top of it.
Let's finish up with the vipers now by breaking out the Helmet Lights.
|STEP EIGHT: BREAKING OUT THE STARS|
|No, this isn't a reality TV show, its the final step that we need to do in Lightwave 3D before we continue on to complete the compositing process once we have all our passes rendered out.
Again, I reload my SceneMaster, and delete all of the objects in the shot with the exception of course, my Star objects. I have loaded several different star spheres, which have slightly different looks to them or copies of the same object and have rotated them to offset their appearance to camera and thus fill in a lot of black space.
Once I have that done, I need to remove all the lights in the scene but this is probably going to be pretty easy since I have most of the lights parented to objects so when I nuke the objects the lights go with them if you choose to delete the descendants of an object at the same time. BUT WAIT! Lightwave needs to have at least one Light in a Scene at all times. The simplest and fasted way to remove the effects of the last light remaining is to hit the properties panel for the light and turn off affect diffuse and affect spec. Alternatively you could turn the value of the light to 0% or disable it in the scene editor. Choice is yours.
I am not going to use exrTrader for this pass. It's just simply over kill, so I am going to save the stars out as 32bit TGA files. I want the alpha in there for maximum tweak-ability in comp. Once this is done I need to check one thing in my camera panel. And that is to make sure I have changed "Particle Blur" from "Off" to "On". Because my scene master has it off, I only need to turn it on once in this particular set up. Where as if I went the other way, I would have to turn it off 7 times out of 8 passes. Make sense? This is an extreme example, as most of the time you could leave particle blur on and not take a huge hit in render times but you never know. That's why I don't leave it on through all of my scene passes and only enable it for when its required.
Now that this bit is taken care of, I can save out my scene, and get it into render. If you have a network controller that allows shifting priorities of your passes around from lowest to highest and vice versa, throw the stars in at the top or move them to the top of your list. They will render ultra fast and we can pull them into the composite immediately and fell better that space is not some huge empty void. At least in our shot.
|Shot Break Out Summary!|
|So as you can see here by following these steps, this shot break out went by rather quick when you pull out all of my ranting :) In total I should be able to break a shot out like this in less than 15-20 minutes, if not faster. This was a simple shot to do of course with not a lot of things in it that need separate attention in compositing, but the foundations of how to do a shot break out are the same even on larger shots. If I needed to break out an armada of Cylon Raiders for example (Episode 209 "Flight of the Phoenix" is a great example from Battlestar Galactica Season II, I broke all that shit out myself) I would do it in groups, making scene masters for certain portions of the shot and then proceeding from each scene master in a similar manner. It all comes down to your scene needs and what you have available to you for rendering power. Big scenes take more ram and more CPU time to crunch. Breaking them out in to several "cylon reduced diet" scenes makes them manageable for render farms of lighter proportions, but can explode into an organizational headache. "What pass goes with who?"
That is why I created this break out process so that I always have what I need to go back if I screw up and I shouldn't really screw up because if I build my scene master and or sub-masters correctly using the same settings from those, the tree of break outs below those masters will be consistent.
Remember, it doesn't matter how big your farm is, if your shots are broken out in a way that your compositors can't make sense of or can't use because its not done right, you are wasting not only render farm time twice over (once for the mistake, once to fix it) you are also wasting your time and your compositing teams time and energy. I got this right away, but on Season III things fell apart really quickly because some of this process went down to a junior in LA (but the guy who trained me was sitting right fucking next to him and they STILL COULDN'T GET IT RIGHT!) - which ended up being more or less a disaster and a huge waste of money when they hired another guy here locally to take the shot break outs off my plate completely. Never put two juniors who don't have any compositing experience let alone fail to understand what they are doing when they are breaking out shots and why certain things need to be done certain ways in a position like this. It's a critical point of failure if you do so and it will fail! Then people start making secret phone calls "while out for a coffee break" blaming you for the whole mess, complaining to the "Ell Ehy" group management people, while bucking for a promotion to pay for additional hormone therapy.
This is part of the reason while I will never by choice work again with a 3D team that doesn't have the ability themselves to comp their own shots and that means from the top down. Scene construction, break out, render management, compositing. In other words Lightwave Generalists who can also composite their shots are worth they weight in gold. Literally. The amount of money BSG pissed away in lost time over mistakes in the shot break out process was and remains absolutely staggering and it affected all of the different internal departments of the VFX team. Management to Compositing. When they started to cut me out of the process, things started to go wonky. You can actually see the change from one episode to the next. Bad Management Choice!
|Compositing a space scene the Battlstar Galactica Way using Lightwave3D, Fusion5 and the benefits of OpenEXR Render Buffer Image Saving with exrTrader.
Part 1 | Part 2
By Kelly "Kat" Myers.
|Fusion Compositing Tutorial!
Ok so now that all my renders are complete, I can begin the process of constructing my Fusion5 flow. This tutorial is not going to teach you how to run Fusion. Only how to deal with the OpenEXR images and the buffer options we used in the break out process to bring together the composite and how we composite space scenes on the show. For more information on Fusion5, check out www.eyeonline.com.
The compositing process while on the surface may seem daunting, is really very straight forward. While the terminology I will be using is going to be geared towards Fusion5 as the compositing tool, the methods described here can be translated into any compositing package. This tutorial however is specifically designed to take advantage of OpenEXR format color depths and the buffer saver technology from exrTrader with Fusion. If you are not able to work with OpenEXR files, I highly suggest you do a gut check and ditch your current compositing application for one that does.
Alright now, let's begin.
|Step One: Brining in the "Fill Pass" and Tweaking it for flavor.
The first thing I am going to do is set up my flow to work at 1920x1080 with a 1:1 aspect ratio, set for 24FPS. Also, I want to lock my color depths at 128bit so whenever I bring in a loader that is EXR format its automatically going to be set to 128bit color depth. That's 32bits per channel for RGB plus Alpha or anything else for a buffer selected on save out from Lightwave and exrTrader.
|When I pull this loader in, by default I am going to get what I want for buffer selections. This is one of the rare occasions where this happens. The fill pass requires me to use the RGB+A of the "Final Render" buffers from exrTrader. If I wanted to get fancy I could load the fill pass twice and split the Diffusion Color Buffers and the Specularity Color Buffers out and mix them independently as the light rig used does produce Specular information bounced off the object and back into the LW camera. Note that this would only happen with a "fill ball" pass and not a radiosity pass as background radiosity doesn't generate Specular lighting information. For the purposes of this composite I don't need to do that and I can work with the RGB+A final render buffer image information for my fill pass and continue with out much hassle.
Now let's adjust that fill pass with a Brightness/Contrast tool to bring it line with the way we composite it into the shots on the show. Pull a B/C Tool into your flow and connect the fill pass to it, and then drag the BC tool over to one of your preview panes. With the B/C Tool selected you can now drop your "Gain" level down to around 0.4 or 0.375. Also make sure you turn off "Alpha" in the "Radioactive Tab" area. When bringing in all your loaders. I don't know why (hey I am not really a compositor) but for some reason it seems possible to adjust the BC of the alpha channel in Fusion down stream from the loader with color correction tools.
Looks kinda dark huh? Well the reason we even need a fill pass is rather simple, it "fills" in areas that would otherwise be lost to darkness in a straight out single key light render. But we don't need it full on so as to compete with the key light. How much you knock it down is highly dependent on the scene but we generally knock it down to the levels I mentioned above when working with the image material in 128bit. The idea is to push it as far down as it will go without having it "clip to total black". Space is never 100% devoid of light. This is what we called "space black". Whatever that is.
Anyway, now that this is loaded and we can see the results it's time to bring in the Key Light Pass and take advantage of those render buffers!
|Step Two: Brining in the "Key Pass" using a single image to get two layer elements through exploitation of the buffers supported in OpenEXR format combined with exrTrader.|
|There are two sections to this step. First loading in the Key Pass Files and choosing the Diffusion Color buffer with alpha and then again but for the Specular Color buffers plus alpha. Together these combine, mixing in other tools between the merges bringing them together as one with the fill pass to get the desired results.
I am going to load my first portion of the Key Pass to use as my "Diffusion Color" layer in my composite for the ships. Once I have it loaded I need to change my buffer selection under the format tab of the loader to be Diff.R for Red, Diff.G for Green and Diff.B for Blue. Please note that Fusion for some stupid reason loads an EXR file with the buffers for things like Spec Color and Diffuse Color BGR and not RGB which is the proper sequence of color channels according to the open standard. So you will have to watch what you are doing to make sure you get the right color for color in these layered pass components.
Once you have your buffer for Diff Color selected into the proper color channels of the fusion file loader go ahead and bring in another B/C Tool and just pop the gain of the image up a bit to say 1.13. After that you can bring in a merge tool and join the Fill Pass and the Diffuse Color Pass together. When you do this make sure you turn off "Merge Alpha" on the merge tool.
Here is a screen shot of the Fill Pass Merged with the Key (Diffusion Color) Pass. Notice the Dark Areas of the ships are no longer totally black as you see on the left which is the Key (Diffusion Color Pass) on its own.
|Step Three: Pushing the limits with Brightness/Contrast tools and Glow for the Specular Color portion of the Key Pass.|
|My next task is to pump up that Specular Color element so it "pops" out of the image.
In order to do this I need to insert some tools between the loader for the Key Specular Color element and the merge which brings it over the other two pass elements. These tools are going to be a brightness contrast tool and then a glow tool in that order moving down stream towards the merge tool.
When I bring in the Brightness Contrast Tool, the first thing I am going to do is turn off "alpha". I am doing this like on my other tools that deal with color for two reasons. 1. I don't want to touch my alpha in anyway from any of the passes and 2. by turning it off in the tool I am actually saving some render time later on as well as speeding up the interactivity while working with my composite because Fusion can simply ignore treatment of the alpha channel when it hits these tools as it processes the images.
My values for the B/C tool are going to be specific to OpenEXR format images because of the amount of dynamic range they support. If you are working with 8bits per color channel images like TGAs and try to apply these settings you are going to bash your image results beyond what they physically contain and they will clip. That's the reason why OpenEXR kicks ass. You can push the tools further than typically allowed with 8bit images like TGA files and still have head room before they "clip" in either direction blowing out to white or going super black. These numbers will also change based on how bright your key light was in the first place. If you change your brightness value for your key lights from scene to scene your values will need to be adjusted in the composite from scene to scene as well. Keep that in mind! Every scene is different and this is art! It's what looks good, not always what's physically accurate.
Let's review my values for my Key Pass Specular Color B/C Tool.
Gain = 4.07
Gamma = 1.57
Contrast = 0.0 (untouched)
Brightness = 0.0 (default)
Saturation = 1.0 (default)
Now I can set up the Glow tool which is immediately down stream from the B/C Tool I just made the adjustments above to.
First, turn the Alpha off!
Next, try these glow settings.
Set your Glow tool to "Gaussian"
Glow Size = 8.29
Glow = 0.8
Bland = 0.353
Make sure your apply mode is set to "Normal" in the glow tool just below the sliders where you entered these values.
Now you can bring in another merge (remember to turn that alpha off!), and screen the results of your glowy Key Pass Specular buffer effect treated element over top of the other two passes using the "screen" apply mode.
Let's check out our results shall we? See the images to the right!
Here is a screen shot with the Key Pass Specular Color buffers selected and treated with the B/C and Glow Tools
|From here things get pretty obvious but I will continue on those other passes like the engines and additional lighting later. Here is a test composite though with all of the elements combined. I need to do some tweaking to the stars however but that's okay. It's just an example. Feel free at this point to render out your composite and see the results thus far at this stage of the process. Remember tweak the settings so they look good to you but still "real like".
Check out my composite test here.
More to come soon!