Press Releases
Combustion 2    

 


Inside Combustion 2
by Todd Sheridan Perry

Combustion 2 has been long promoted as the next best compositing tool available for Linux, OS X, and Windows. In a lot of ways it is. But in a numbers of other ways, you shouldn’t stop using your other high end compositors just yet.

Combustion was born from a combination of previous products from discreet – paint* and effect*. These products in themselves were acquired by discreet and brought into its line of products. Paint* provided a vector based paint system, while effect* was the compositing tool. Both were adjusted and developed to work with 3d studio max, and edit* (which came from D-Vision). These products were adequate for what they did. Paint*’s competition would have been Commotion, with the advantage of utilizing vector-based strokes rather than raster. Effect*’s peer at the time was Adobe After Effects. Despite effect*’s 3-D compositing space, which gave it advantages over AE, the lack of high-end keying and color space and correction tools kept it from competing with eyeon Software’s Digital Fusion and Nothing Real’s Shake, which has since been acquired by Apple Computer. Discreet took paint* and effect* and combined them into one workspace, giving you all the benefits of both programs but without leaving the pipeline. This advancement was nice. But the largest step that discreet took to bring Combustion to a higher plateau was to begin to incorporate the tools that are found in Discreet’s SGI-based Flame, Flint, and Inferno (FFI). Color correction, keying, tracking and color space tools migrated from the very well established high-end compositing systems that are without a doubt the industry standard for compositing. The interface had also made its way over, creating an opening for compositors to train on the lower-priced Combustion, and be qualified to move into a Flame bay without having to invest the money – or certainly a post-house to invest in training an artist on a $600/hr machine.

In the first iteration, discreet managed to bring the level of their compositor up a notch. There were still some items that it was lacking, however. Combustion forced the user to work in its 3D compositing space, which is much more heavy in comparison to the 2D compositors out there. The Color space tool dealing with LookUp Tables (LUTs) as well as management tools for viewing color space beyond 8-bit were missing or not up to par. And it was also missing a schematic view of the composite, which has been the predominant way that high-end compositing systems have handled things since the now-mothballed Cineon stations.

Combustion 2, after what seems like a pretty intense development cycle, has returned with features that fill those previous gaps, as well as expanding and refining the tools that were already there. Other additions include Backburner (the Combustion network manager), a 2D particle system, committing operators to disk, better RAM management, and many more.

When opening Combustion, the first and obvious item is the interface. Discreet markets this as an “artist interface,” designed to focus on the creative process rather than the technical things. I do not really see this quality. But, it does begin to grow on you – after a period of working with it. Discreet certainly doesn’t spend time making the interface look pretty. There are buttons, sliders, and numbers and nothing more. It’s a little intimidating when you first sit at it and try to accomplish any tasks. It becomes more evident as you progress that the interface does indeed allow you to work with more efficiency. Expanding your desktop to multiple monitors gives you even more flexibility.

I set myself up on a dual monitor system with a Wacom tablet and was able to assign my display and time controls on one monitor while keeping my tools on the other. Keeping everything open like this allowed for immediate and easy access to the entire project. Combustion 2 allows you to customize up to a 4-monitor setup. Within the display portion of the interface, you can break the scene into multiple views. The advantage of this is that each view can represent a different level of the composite. So, you can be rotoscoping in one view, while seeing the resulting composite in another. Not only this, but depending on RAM, you can cache the result of the composite in one view and actually have the sequence playing while you roto in the other view. The cache will update as you work and you can monitor the roto for edge flutter. This is, of course, based on the power of your system and the amount of RAM you hold. Both factors need to be pretty robust to take advantage of these features.


Schematic view
Along with a standard timeline view for the layers in the composite, you have added control with the ability of changing it to a graph view with bezier controllers for more effective control of the animation between keyframes. You can also view the comp within a schematic view, bringing it up to the level of control to heavier hitting compositing programs like Shake and Digital Fusion. Combustion 2 gives you the same kind of control of the composite from both the schematic and layered workspace. With the ability of linking, unlinking and rerouting flows, you can build your comps with the process that you feel most comfortable with.

Combustion 2 takes advantage of a 3D workspace. The layers of the composite sit in 3D space, giving you control over the distance from the camera. By stacking the layers with distance information, you can create parallaxing when you move and animate the camera. It is really much like a multi-plane camera setup. Combustion also uses this feature to create shadows from one layer to another, adjust lighting, and create other effects such as depth of field. On top of this, Combustion 2 can use the 3D information in RPF and RLA files saved from 3ds max to incorporate other layers amongst the RPF file. The RPF file contains much more information than the color and alpha information.

Items like z-depth, velocity, NodeID, MaterialID, Transparency, etc - -and the file can be saved with 8-bit or 16-bit color depth. Combustion can see this information and use it for compositing and for specialized 3D effects. Z-depth allows Combustion to know how far away objects are in a scene in relationship to one another. Even though the objects are in the same image, you can slide other layers between those objects, creating an easy way to composite multiple CG objects passing in front of and behind other layers – without the necessity of rendering multiple passes.

Velocity information enables you to apply motion blur in the composite based on the vector of the original object. This is essentially what image motion blur does within Max. But rendering without motion blur, and having that data available in the composite gives you far more control than simply applying image motion blur in Max, and much faster than object or scene motion blur.

The benefits of 3D compositing do not necessarily offset the amount of calculation time, especially with straight compositing projects. Combustion 2 has brought in a 2D compositing mode that gives the artist an option of how to put together the comp. The option was sorely lacking in the previous version, and adding this make Combustion a more viable option for post houses, especially smaller ones that may not have the firepower to process the 3D all the time.

The paint features of Combustion bring Photoshop in with the addition of a timeline. You have full control over brush type and size as well as brush application, including cloning and revealing on top of just straight paint. Each paint stroke you create becomes a vector-based spline. This spline can be animated and manipulated. All the other standard drawing tools are also included with circles, rectangles, bezier-handled polygons, etc.

These tools extend into making selections and creating masks for applying effects and including/excluding items from layers of the comp.

I found the paint and roto tools extremely responsive, given the RAM cache management system that Combustion is using. It is so important to be able to see the results of your paint and roto in realtime. And the ability to do this without having to make a preview each time you need to view it is invaluable for production. Not only do you get the immediate feedback that you need for this, but if you have a post house with combustion licenses and a flame or inferno, the roto/paint work can be done on the lower end machines, and then the data can be transferred over to the high-end systems for final composite. This, in fact, is applicable to all the parameters in Combustion – color correction, keying, spline data, etc. can all be ported over to the SGI’s and vice versa.

Combustion's Roto Tools window
Painting with vectors allows you a great deal of control, but when each stroke contributes to more calculation time, the composite can get very heavy very quickly. To alleviate this, Combustion provides a process where you can commit an operator to disk. When you commit, Combustion will render the flow up to the operator that you chose to commit – in this case it would be the paint operator. It will then create another node in your composite that brings in the committed footage and it will create a switcher operator that enables you to toggle between the committed footage and the actual flow. This speeds up the rendering process tremendously by removing the heavy paint calculations, but it gives you the freedom to switch back to the original flow and make changes if necessary.

Discreet purchased Illusion, a 2D particle generator, last year, and incorporated it into the Combustion pipeline. The system is deep and robust and quite complex. The amount of control the artist has seems bottomless. However, discreet has provided a substantial library of particle presets that will keep any artist happy and busy with systems ranging from fire to smoke to explosions to water to flowers. Nearly every parameter is animatable and has a learning curve of its own beyond Combustion itself. The particles not only can use points, but also image-based sprites. You can even take the output of a particular operator in the Combustion flow and assign it as a particle. The emitters and deflectors within the system can be animated and can also be attached to a tracker. So, you can track a position on the live action footage, like a cigarette tip, for example, and then have a particle emitter attached to that track point, giving the impression that the cigarette is burning.

Despite the capabilities of the particle system, I would really like to see controls to influence the systems with forces like wind, gravity, turbulence, etc. Having control over killing particles and spawning would also bring this feature to a state that could more effectively replace a 3D particle system.

The discreet keyer is a port from FFI in the SGI world. The same tools that the larger houses use are available in this relatively low priced package. All the tools within the keyer are designed to finesse a matte into place. Other keying systems such as Primatte, Ultimatte, and UltraKeyer (Digital Fusion), are geared toward getting the matte quickly and effectively. And as effective as they are, the finessing tools for controlling the edge, suppressing spill, and the density of the matte don’t seem to be as broad as the discreet keyer. The keyer allows for multiple methods of pulling the key including RGB, YUV, HLS, RGBCMYL, Luminance, or any pure color channel. Each method is stored as a different key, so you can compare the quality of each matte pull. Beyond that you not only have the ability to choke, expand, and blur the matte, but you can erode the edges which changes the transparency of the edges without actually removing pixel information. Softness of the matte can be controlled globally as well as individually for each color channel.

Combustion's Key Tools
Combustion also carries a feature that I have not seen in other compositing programs, and that is the idea of controlling both a front and a back matte. These terms are equivalent to the matte and the holdout matte in optical compositing terms. In digital compositing, you generally have the one matte that is assigned to the foreground object. In optical compositing, you not only need the matte for the foreground object, but you need another matte to create a hole in the background to prevent a double exposure. The two mattes are equal in shape and inverted in value. Combustion gives you curves to control how the edges of the mattes change from white to black. Finessing these values creates a difference between the two mattes, blending with one another along the edges. This creates a polluting of one image into the other, creating a more seamless compositing.

Click image to see larger view of Combustion's Curves function
Spill suppression is given a set of curves as well. You can have the control of desaturating a particular area of color, or adding the compliment that the spill color into the image (magenta is usually added to green spill, for example). You are also given the ability to choose a color that will replace the spill color. This is helpful if your subject is in front of a particular color, like a sunset. You can take the oranges of the sunset and assign them to the spill color, again, making the composite more seamless.

The Color Correction tools for Combustion are just as wide, if not wider than the keying tools. Again, coming from the FFI, these tools have gone through many years of development and have developed because of project upon project needing solutions to problems. The tools provided give you access to each color channel individually, but you can also adjust color based on tonality, general hue, and tint. You can control with a color wheel, or curves and a histogram. On top of just adjusting the values of colors, you can make a comparison between clips (a foreground and background, for instance), and match the color between the two to provide for a more integrated composite.


Click image for larger view
Within these color correction tools is the capability to correct within a number of different bit depths – 8-, 10- 16-, and floating. When working with files that are a higher bit depth, the color corrector has a lot more range to work with and will give you more accurate results if you need to shoot out to film. You also have less to worry about when it comes to colorbanding or clamping when values begin to go out of range. This multi-bit depth capability does have a downside however, which is not a limitation in Combustion, but rather a limitation of the computer monitor in general. This is trying to work with files that contain more colors than the display can provide.

Combustion is able to now import and export color Look Up Tables (LUT). This is nothing new to programs such as Digital Fusion and Shake, but Combustion lacked this in its previous iteration. LUTs refer to how a program will assign out of range color values to colors that can be displayed on a monitor. This is based on a curve function, which can be displayed in Combustion to control the values in order to have the display on you monitor to best reflect what will ultimately be put onto film. Combustion also provides a setup of test patterns to calibrate the monitor you are working with.

Another quality of film, is that it has grain – something that CG images do not have by default. Combustion provides numerous grain management tools to not only add grain to CG imagery, but also remove grain from footage for things like creating cleaner bluescreens. For adding grain, you can actually choose from a number of preset film stocks. Or, you can analyze the grain of a piece of footage so that Combustion can recreate that grain structure. I am generally impressed with the ability to sample grain and match, but the algorithm for removing grain, which is essentially made of a noise filter and a soften isn’t really as effective as sampling and averaging the grain over a series of frames.

New to Combustion 2, and something that I think is the most attractive feature of the program is the ability to use a network of computers to render the composite. This is available on the higher end systems, but not on compositors such as After Effects. Instead, they have a system called a Watch Folder system (which Combustion has as well if you are comfortable with it), where all the render node machines look at one particular directory and if a new project appears in it, they will grab it and start rendering. This method of net rendering is clunky and a bit of a hack. To solve this, discreet has included Backburner with Combustion as a network manager. A Combustion file is assigned to the designated Backburner manager, and each machine that has the Backburner server running on it will pick up the job and contribute to the render. Each rendering license for Combustion 2is free with the purchase of the workstation version. So, if you have the one license, your entire render farm can help out with the renders. [an error occurred while processing this directive] A couple other nice features in the render parameters are the communication that Combustion 2 has with the outside world pertaining to its render. It has the capability for the system to e-mail you when the render is complete, so if you have e-mail connected to a pager or cel phone, you can be notified when things are done. Combustion 2 can also post the images to an FTP site for approval or even as generated artwork to another house that will use them, or a remote artist.

Combustion's Matte Tools
With all of the features that have been incorporated into Combustion 2 (a number of which I did not touch on in this article – like Paint integration with Max and the tracker), there are a few things that are still missing that I would like to see in the next version.

My first and foremost issue with Combustion 2 is that I cannot access the data from any channels within the program and use them to drive other channels either directly or through mathematical equations. For instance, if I wanted to take the average position of two trackers and place an object at that point, I wouldn’t be able to drive the position of the object with the output of those two trackers. Even After Effects has motion math, which lets you do this to a degree. For heavy duty procedural animation, not necessarily as simple as the example, I find that Combustion lacks the proper tools.

You also cannot “remap time” (in AE terms). You can speedup and slow down clips based on a percentage, but you cannot do it over time. A lot of filmmakers use this technique where the frame rate of the camera will change in mid-stream, giving a jarring effect to the scene as it goes from overcranked to undercranked in the same shot. Combustion 2 doesn’t have tools to accomplish this. You are required to use RealViz’s Retimer or Twixter. Or even go into After Effects and use their built-it time remapper.

I would also like to see the robust deformation tools that FFI includes, which would allow morphing and highly controllable distortions using a grid of bezier control points.

As of this writing, there is a quite annoying bug (which I assume will be fixed in a patch or minor upgrade) which causes Combustion 2 to second guess the artist when naming files or going through directory structures. If you have a number in your filename that is not part of the sequential numbering of the file sequence, or a number in the name of the directory – Combustion 2 will automatically convert this number to a [####]. You can fix this by specifically retyping the number after you have used the browser to determine your output path – but this is annoying and should be unnecessary. Furthermore, it will cause a render failure because Combustion 2 cannot find directory “shot[####]”.

I’m sure that these items will be fixed within the next development cycle.

Overall, I think that Combustion 2 has come a very long way since its effect* and paint* days, due in large part to the contributions of its big and more experienced siblings on the SGI side. There is a bit of a learning curve and some time is needed to get used to the simplicity of the interface and the methodology that you have to use, which is different enough from both the timeline based compositors like After Effects, and the module based compositors like Digital Fusion to confuse most artists for a few hours – despite the “artist interface” As a rotoscoping tool, I feel it is indispensable. The feedback that you get from Combustion 2 is absolutely necessary for this process, as well as hand tracking objects and painting out wires. As a compositing tool, the items that Combustion 2 has inherited from the Flame, Flint, and Inferno, place it a cut above most other systems at this price range. The 3D functions add value as well. I am especially intrigued with its use of the additional information provided in RPF files.

Combustion 2 has a lot of benefits and it is a welcome addition to a compositor’s toolset. The next few iterations should provide some interesting competition to the higher end compositing systems.

For more information, visit www.discreet.com

--------------------------------------------------------------------------------

Todd Sheridan Perry is the visual effects supervisor and partner at Max Ink Cafe (www.maxinkcafe.com) in Venice, Calif. Between supervising visual effects and animation for films, television, and games, he occassionally has a moment or two to impose his thoughts about the industry on DMN.

source: Digital Post Production