Read more articles: View Thumbnails
 

Superman Returns VFX

Andy Jones, Raul Moreno, Kent Seki and Tanissa Potrovitza of Pixel Liberation Front talk about creating the Flight Demo sequence for Superman Returns.
July, 14th, 2006by Raffael Dickreuter


Superman Returns - Watch the flight demo showreel.
 


 


Andy Jones, CG Supervisor

Tell us about your involvement in the project and what your responsibilities were on Superman Returns
For the Flight Demo sequence, I was given the title of CG Supervisor. In reality, this role was a tag-team effort, as Kent Seki started off supervising for the first portion of the job, and then I picked up his responsibilities after he headed out to New Orleans to be VFX Supervisor on Stay Alive. When Kent was still around I was basically acting as the technical director for the show while I finished up exporting motion control data for Zathura's miniature shoot. As technical director, mostly dealt with shaders, but also provided some initial technical supervision for modeling, early particle work and animation. By the time I took over as CG Supervisor for the show, most of what was left was rendering, compositing and final effects work, so I was in charge of seeing those aspects of the job to completion.
Before I get too deep into the interview, I should point out that the rendering work we did for the Flight Demo sequence was all done before our work on Stay Alive. So, for all those readers keeping copious notes about PLF's CG pipeline, this interview may be more of a history lesson than a revelation of current production techniques, like the recent Stay Alive interview. Of course, at this point, we've basically re-engineered everything again since Stay Alive. So it's now an ancient history lesson... From a little over a year ago. Back when referenced models didn't sort of work.
For the live action compositing work we did, my only specific duty was to help figure out how we should work with the Panalog .dpx files being generated by the new Genesis cameras they used to shoot the show. While .dpx and 10-bit files were nothing new, encoding the data with custom light response curves was a challenge that had to be carefully managed by everyone involved with the production. The recommended standards, look up tables and tools provided to us by the production changed over time, so this was a continuously evolving process. The main goal was to avoid any loss of data. For a while, we were compositing in After Effects 6.5 (i.e., no floating-point-support), so we had to do weird things like compress our working color space to avoid clipping past-white values. For the mammoth previz effort PLF made on the movie, I was mostly just involved in the early phase as we ramped up for the project. Most importantly, I created the rig we used for the characters, and developed a couple of realtime shading effects to help things look pretty. I also animated a small handful of shots.


What custom tools were developed and used in this production?
For Flight Demo, not enough. The project was small enough that we were able to cope, but to a large extent, this job really helped us define what custom tools our pipeline would require in order to scale up to something bigger, like Stay Alive. We had version 2 of our custom multi-pass shader pipeline basically in place, but we didn't really have any of the surrounding infrastructure to automate multi-pass rendering (nor the manpower to do it by hand, like we did on World of Tomorrow). Once faced with the task of rendering the entire show, I immediately started writing the initial version of our partitioning scripts. They certainly saved a lot of time, but a considerable amount of legwork still had to be done at the scene level to get objects sorted properly. Looking back, with the exception of the particle work, the Flight Demo sequence really should have been a very simple job to render -- just three relatively low-resolution hard-surface assets in front of a sky. It doesn't get much easier than that. What made it difficult was that, as with every job I've ever worked on, we had to refine assets based on both client requests and small artist and software mistakes well into the rendering process. These days, all our partitioning logic is contained within the models themselves and we use referenced models, so we can iterate assets ad nauseum, and all we have to do to re-render is open the scene and run a script. On this job, without referenced models, changes to assets meant we had to open scenes, replace models and redo pass setups for every shot. And there were some constraints floating around in some of the scenes that weren't stable even in the localized models. If I ever invent a time machine, I'll travel back in time and tell myself to just insist that everyone bake all their animation into clips so I could've written some simple scripts to handle replacement of local models. Then I'll go buy myself some cooler clothes to wear in high school so I won't look like such a dork when I found my new company, Google.
The custom tools I made for the Superman previz are a little more exciting to talk about than the final CG tools. For the character rig, which was intended to be a generic envelope-based previz rig, there were two particular goals that were important for previz, but don't really apply as much to typical CG character rigs. The first goal was to add value to the previs animation without requiring additional animation time from the artists. Basically, this meant we needed to get nicer deformations, while restricting the number of controls to the smallest set we could reasonably justify. For example, I wrote a quick little custom spine scripted operator that distributes the hip, torso and head rotations in a somewhat natural-looking way. So, there are just three controls, but around 8 pivot points in the spine, giving the illusion of a more sophisticated spine rig. I also added a lot of procedurally animated nulls all over the rig to help with volume preservation and deterministic secondary joint animation (e.g., butt-roll deformers). And, for good measure, I stuck in an automatic breathing feature, that was met with mixed reviews (though most everyone agreed it was "creepy"). The second goal with the rig was to avoid as much manual weight painting as possible. The solution to this was really simple. I basically just sat there, enveloping and un-enveloping sample meshes and adding/moving envelope nulls until the default distance-based weight assignment looked pretty good. The other common approach to this problem is to transfer manually painted weights from one character to another. I prefer the distance-based approach in previs for a variety of reasons. It was during Superman that I first really started dabbling in writing custom realtime shaders using NVidia's CG language. Probably the coolest thing I've made on any job to date was the realtime ocean shader I made for Superman. It uses normal maps and a simple vertex displacement algorithm to produce a reasonably compelling ocean (not unlike the demo that ships with the NVidia SDK). There ended up being a pretty substantial amount of ocean footage in the movie, so the shader proved to be very useful. Before the realtime ocean shader, we probably would have just been stuck using an animated texture sequence of live-action ocean footage or something, because there's not really time for widespread use of mental ray in previs. Instead, the water ended up being one of the more realistic-looking things you see in the previz movies. Another cool thing about having a custom ocean is that I can easily reuse my wave algorithm to move nulls around in the scene in sync with the water, making it look like things are floating on the surface. This is much more difficult to achieve with the typical ocean shaders people build in mental ray (though certainly possible).



Tell us about the process of pre-comping the shots
Due to artist availability and a handful of other factors, we farmed out the compositing of the flight demo sequence to DNA, a small studio that specializes in compositing here in Venice. We provided DNA with an After Effects master comp of our 3D layers (of which, there were maybe about 13. I don't remember exactly what they were, but the list was probably something like Background, Texture, Diffuse, Shadow, Specular, Final Gathering, Occlusion, Reflection, Reflection Amount/Fresnel, Glass Absorption, Depth, and a combined Shuttle/Plane/Jet Matte. Yes, it's a lot of passes.) Then, DNA went through the process of merging the passes into the master comp on a shot-by-shot basis, dialing in values, and adding a lot of 2D love to the shots in After Effects. As you might imagine, with 13 or so passes per shot, it quickly becomes difficult to keep track of what passes have rendered properly, and which have mistakes that need to be corrected. And when dealing with a 3rd party vendor, it's generally not a good idea to be passing around bad frames. To alleviate this problem, we did our best to do pre-comps of all the shots (in the XSI FxTree, of all things) before we sent them out to DNA for final compositing. We caught a lot of errors this way. The precomps also proved to be a useful instructional tool for helping DNA get up to speed with how our 3D layers were being combined. Though the final compositing was being done in After Effects, nodes are just a lot more intuitive to look at for comps where a lot of layers are being combined in non-photoshopy ways.



What were the most challenging tasks you had to master?
For Flight Demo, the most challenging task conceptually was probably dealing with particle alpha channels. The problem is, if you render particles that composite by adding (fire) and particles that composite by layering (smoke) together, there's not generally enough information in the alpha channel to make it work properly using a standard layering operation. A good compositor can often just make it work by minimally destructive, round-about means like matte-choking and such, but the result will always look a little different than it would if you'd actually just rendered particles within the scene (and of course, being the multi-pass rendering freaks we are, we wanted the particles in a separate pass). There are some solutions, but they're all pretty convoluted, and most require rendering the particles in multiple particle passes, which is not a very easy thing to accomplish for interspersed particles of various types.



What features of XSI did you find useful?
I think by not using them, we proved to ourselves just how useful referenced models are. At the time, we still didn't feel they were stable enough for production, but in more recent jobs, they've saved us a ton of time. Rendering in passes also proved very useful for this job. I might not have said that if the client hadn't asked us to change the texture on the shuttle two months ago -- basically a full year after the show had completed. Rerendering just the texture pass took about one minute per frame. To re-render a single beauty pass with final gathering, occlusion, reflection, etc., would have taken quite a while longer. There's no question in my mind that rendering in passes can save a lot of time in production and allows compositors to push 3D to look better than it ever could in a single beauty render. Like anything else that adds complexity, though, it requires some additional tools to keep everything under control. As we continue to push our pipeline forward, it's always an ongoing mission to keep tool development far enough ahead to make the jobs we do feasible.



Which areas should be improved?
For starters, the same ones that I said were useful. Currently, referenced models are crazily slow. If you have more than a few decent-sized reference models in a scene, it quickly becomes unbearable to work, and you end up right back where you started, replacing localized models and reapplying animation, shot-by-shot. Referencing is supposed to save resources, not waste them. With our current referenced model pipeline, we'd need about ten machines per artist to fully account for how slow XSI is to localize, update or delete a referenced model. For updating and deleting, it's often faster to just close the scene, edit the .scntoc and re-open. In some cases, that's the only way to do it, because operations on the model itself will exhaust available memory and crash XSI. Deleting in XSI in general is just a problem. We now have script Brad Friedman wrote that deletes hierarchies of objects faster than XSI's delete command. To delete large reference models, our work flow is to localize, then run these scripts. It's asinine.
XSI's rendering workflow also needs some major improvements. I'm really excited to see what mental ray has in store with MetaSL and mental mill. In general, the Render Tree is currently somewhere in between being an artist's tool and a TD's tool. I'm hopeful that these new technologies will help alleviate that problem by allowing us to divide the work into low-level and high-level tasks. Regardless of what happens with shaders, mental ray and the Render Tree, I think we need better tools for cluster-level control of rendering. This is currently a rather buggy area of the software. Working with clusters in groups is a nightmare, and working with clusters in partitions is currently not even permitted. It's a huge problem for environments, since objects take up a lot of memory in XSI (this is an area for improvement in itself), and it's a problem for characters, since dealing with multiple materials on deforming meshes is somewhat difficult to do without clusters. Some additional work also needs to be done with texture map properties. That feature alone could go a long way towards solving the problems with clusters and material management, by reducing the number of materials present in the scene.




Raul Moreno, Lead 3D Artist, Compositing Supervisor

Tell us about your involvement in the project and what your responsibilities were on Superman Returns
I lead the asset creation team for the Flight Demo CG. This included taking the models from the art department in Sydney and preparing them for final rendering. We were required to re-design some parts of the space shuttle based on feedback from the the production, re-model existing parts, create the 2D textures, apply them to the space shuttle, and getting the materials applied correctly and ready for the rendering pipeline. In a later phase of the project I was the Lead Compositor for the 2D comps we did here at PLF. Coincidentally many of these 2D comps we would work on included the CG space shuttle lift off demo we had completed previously.



Tell us about the process of creating a realistic looking space shuttle and planes
The camera gets very close to the rear section of the shuttle in some shots, so that is where we got in close and added all the little things you don't see right away. It was a small team and the schedule was tight. Most of my effort went into the texturing, up-rezing and adding detail to the shuttle. Tanissa did most of the research on the project for us, so we had alot of reference for all the subtle detail. The shuttle was initially created in Rhino, so anything with trimmed nurbs surfaces didn't come thru very nicely at all. Those all had to be cleaned up extensively or re-modeled. Claire Lin did a beautiful job of rebuilding the intricate fuel lines along the jet engines and adding some of the necessary detail to the back of the shuttle for the close up shots. Ralph Knight did a great job getting the modeling and texturing perfect on the Boeing 777 and the Lockheed-Martin X35 fighter. Andy Jones designed the rendering pipeline as well as figured out the passes that gave the compositors all the control they needed to dial the comp in. Some of Andy's first comps looked photo real, it's amazing what you can do in a comp when you have the right passes. I think the pass set-up was the key to the success for the look on this project.




Explain a bit what modeling and texturing techniques you used
Nothing fancy in terms of techniques, just worked on the models until they were right... adding detail... test rendering... adjusting textures and materials... test rendering again. We used the XSI modeler to add detail, and had plenty of images for reference. Andy's PassMixer is very useful, it allowed us to preview the passes comped in the render region. You know immediately if your textures are achieving the desired result.




What were the most challenging tasks you had to master?
There were quite a few shots and alot of renders to set up. Rigorously vetting all the assets, getting the models and textures looking correct and set up properly and ready for the rendering pipeline in the amount of time we had was challenging. There were a few things that blew-up but those issues got addressed, as they always do.




What features of XSI did you find useful?
The modeling and texturing tools in xsi are great, simple and easy to use.



Which areas should be improved?
Importing models from other 3D apps could be a alot better. Hard edges don't seem to transfer sometimes from other 3D programs. I mentioned earlier that trimmed nurbs surfaces not coming over at all, maybe this has already been addressed.




Kent Seki, Lead Animator

Tell us about your involvement in the project and what your responsibilities were on Superman Returns
I was the initial supervisor for the CG used in the Flight Demo sequence. This is seen in the film mostly as screen shots in the background as the Space Program Spokeswoman explains the way the new space shuttle launches. As the sequence progressed and my time became mixed between being the on-set VFX Supervisor on Stay Alive in New Orleans, I handed the responsibility over to TD Andy Jones while I took the lead animator role. This meant that I did all of the initial job organization and pipeline prep work with Andy, and transitioned to doing camera animation and plane/shuttle animation. I also ended up doing around ten matte paintings for the final shots. Andy did a great job of taking the reigns in crunch time to deliver the show. We had a very limited crew of people to do the shots within budget. Raul Moreno did a very nice job building and texture mapping the space shuttle. We also used a company called DNA to composite our 3D.




How was the visual look of the Flight Demo sequence determined?
The production came to us with a specific reference that they wanted us to emulate. It was a demo of the Mars Rover that was created for NASA. They wanted a demo that a space organization would put together that would impress the average individual but not look "too good." We took our direction from the demo and the VFX Supervisor Mark Stetson. We stayed away from photo-real and kept a stylized look.


To what extent was Previs used to determine the look of the final effects shots?
As with all of our CG work, we used previz extensively and gradually moved shots from rough animation to final.




What were the most challenging tasks you had to master?
The most challenging task for me ended up making the backgrounds for the shots (see below for more elaboration).




How were the environments created like the aiport, sky and outer space backgrounds?
I spent a good amount of time traveling between Los Angeles and New Orleans via planes for Stay Alive. I took the opportunity to take numerous photographs both on and off the ground from my plane seat. I then sent the photographs with camera projection renders to Tanissa Protrovitza in Los Angeles to make the background matte paintings. Tanissa deserves a lot of credit here. How many producers do you know that can use Photoshop well enough to create a matte painting while producing? She would then send them back to me to re-project on to the geometry. I would modify her matte paintings while blending between several cameras for the more difficult shots. I also created several sky panoramas and cloud cards for the flying portions. We combined these with other photographs to create the backgrounds. The most difficult thing was that I was on-set VFX Supervising for Stay Alive during the day for 12-18 hours while creating the matte paintings and rendering on my laptop in the hotel room at night and on the weekends for Superman. I would then FTP rendered file, scene files, and textures back to LA the next day. This also required a good amount of coordination by Tanissa.



What features of XSI did you find useful?
I found the XSI camera projection function to be quite useful in creating the backgrounds quickly and efficiently. Previous to this project, I had not employed this technique for creating backgrounds, but it ended up being a great time saver in the end.




Which areas should be improved?
The particles are pretty mediocre, specifically the rendering aspects leave much to be desired. We always have a tough time finding anyone to do particles in XSI. Andy really deserves a good amount of credit for his work with the particles.





Tanissa Potrovitza, Digital Producer, Matte Artist

Tell us about your involvement in the project and what your responsibilities were on Superman Returns.
I started out on Superman as a Previz Coordinator for Pixel Liberation Front. I worked on the Warner Brothers lot with the previs team maintaining their shot database, managing feedback, and helping prep edits for presentations. Once the previz phase moved to Australia to begin production, I moved onto the Flight Demo project as the digital producer.
On Flight Demo, I handled communication between the PLF team in California and the VFX production team in Australia. This included scheduling meetings, coordinating feedback, handling all incoming and outgoing assets and elements to and from production. Internally, I helped keep the project moving through each phase, making sure that the asset, animation, render and effects teams were all on the same page. We were one of the first vendors on the show so many of the designs and assets we received were still being revised. This meant I had to make sure we were working on the correct version and in sync with production on all our graphic logos, reference images, model dimensions, textures, etc. Finally I helped assemble, maintain, and deliver edits of our visual effects shots, including managing the correct edit counts for the render and effects teams.




Tell us a bit about the challenges of being a Digital Producer on such a big project.
Initially, the biggest hurdles were just nailing down the best systems and protocols for receiving the assets we needed, delivering our shots, and getting final approval.
Working on a big production like Superman means that there is a large support staff ready to help you along the way. It also means a lot of forms to fill out for submissions, feedback, deliveries, etc. Vendor coordinators Louise McNicholl and Jodie Weston were my two primary links to the VFX team in Australia. Together we would coordinate meeting times with VFX Supervisor Mark Stetson, VFX Producer Joyce Cox, and Coordinating Producer Maricel Pagulayan. Due to the busy production schedule and large number of vendors we had to be very organized and synched up when it came to shot submissions. We had to submit shots punctually for the production team to review the material prior to our conference calls. This allowed them enough time to come up with their feedback notes.
Another concern on the project was the creation of assets that would be shared by multiple vendors. Because each company would use different software packages and methodologies, we had to follow strict protocols when handing off assets to ensure cross-platform and software compatibility.
Security was another big issue. We are normally very careful when working on any production, and Superman had the tightest security of any show I’ve been on thus far. Each individual element in each submission had to go through very specific encryption protocols before being delivered.




While the movie was shot in Australia you worked with PLF out of Los Angeles. How well does communication and working with big distances work these days?
The time difference definitely posed some big challenges. Basically, we only had a window of about 5 hours a day where we could communicate directly with production. We had to wait until 3pm in the afternoon to call with any questions, because that was 8am in Australia. Lots of times we’d just send a big email at the end of the day with all our questions and needs, knowing that we would have our answers the next morning.
All of our reviews were done via conference call and with the assistance of a program called Cinesync. The software allowed us to view still images and videos based from the same source. Mark Stetson could scrub through our video, select a frame, and mark the section of the frame he had comments on. This made things much more clear when it came to feedback. Both me, and my Australian counterpart, Production Coordinator Louise McNicholl, would take detailed notes during the meetings. I would then send production my notes for approval. Louise would check through the notes for any discrepancies. This assured that both sides were on the same page.




Explain a bit about the process of creating backgrounds and matte paintings for the Flight Demo sequences.
I really enjoyed the opportunity to work on a couple of the Flight Demo matte paintings. It’s a great break from doing the normal paperwork involved in producing and allows me to be more creative. During the course of the production, animation supervisor Kent Seki had to fly to New Orleans to supervise VFX shooting for Stay Alive. During his departing and arriving flights Kent was able to take some great photos of airport tarmacs. I started by selecting the images I thought would best match up with the VFX shot’s camera angles. I then used Photoshop to stitch together and distort the images to fit the final correct perspective. Using the paint and clone tools I was able to fill in and enhance the photos to create the tarmac and landing strip backgrounds for the shuttle take-off shots. We projected the backgrounds in 3D to create the correct perspective and then color corrected and blurred the backgrounds for depth of field in compositing.
Knowing that the backgrounds would be slightly defocused or in motion allowed for a little more latitude in terms of using elements from multiple sources, re-using or cloning certain areas, and dealing with slight differences in perspective or shadow position.




Credits


PIXEL LIBERATION FRONT

Visual Effects Executive Producer Sean Cushing
Digital Effects Producer Tanissa Potrovitza
Visual Effects Producer Laura Zentil


Previsualization Supervisors
Chris Batty
Kyle Robinson


Previsualization Artists
Glenn Burton
Andreas Hikel
Colin Green
Scott McGinley
Mike Werckle
Keely Colcleugh


CG Supervisor Andy Jones
Lead Animator Kent Seki
CG Modeller Ralph Knight


Compositing Supervisors
Raul Moreno
Darius Fisher


Compositors
Diana Hinek
Melanie Franciosi


Discuss Article at the forum

     Read more articles: View Thumbnails
   
Copyright © 2002-2009 XSI Base.com
Read the Forum posting rules
PayPal Donate
Created by Raffael Dickreuter.