MIRAGE
brought to you by
The Fabulous Four
Ellen "Maya Master" Matthews
Mark "Premier Perfectionist" Nichols
Edward "Shape Shifter" Van Der Heijden
Chris "Coder of Coolness" Wells
Final Report
Story
Our goal was to create a humorous short with many of the effects native to hand-drawn animations being created digitally with a combination of live-action footage and computer-generated elements. The storyline we developed is based loosely on the antic of Coyote and Roadrunner so that we could pack a good number of both events and effects into the short 30 second time limit. Our story begins with our Coyote and Roadrunner characters (Ellen and Chris) walking tiredly in a desert. They look up to see the crashed plane they left hours ago and sit down in despair when they realize they've walked a complete circle from the crash site. Our Coyote character is hungry and sees a 'Mirage' of our Roadrunner character changing into a giant, delicious, roasted turkey. Jumping up with a knife and fork, the pursuit begins. Coming upon a cliff causes the pair to both screech to a halt and breath a sigh of relief that they were able to stop in time, but a closer look reveals that Coyote slid too far and is standing on thin air. Realizing the danger, Coyote holds up a yikes sign (knocking Chris over) and while the bottom half of the body stretches out of the scene and finally yanks the rest of Coyote down towards impending doom. Below, two friends (Edward and Mark) are unsuspectingly enjoying an afternoon picnic. The Coyote is shown doing some typical pastimes while falling - reading the paper and working on a rubik's cube. At the last second, our picnickers see the danger they are in and run off the picnic blanket just as the force of Coyote hitting the ground creates a huge hole that sucks in the picnic blanket. Both of the picnickers are dragged into the whole and soon-following the 'page' on which our cartoon is drawn is sucked into the hole, revealing our credits screen.
Pipeline
For our pipeline we started by coming up with the overall story and effects we wanted to go for. As you see in our video we went for a Road Runner type story, and decided to focus on doing a morphing effect, stretching effect, and have the screen be sucked into a hole. Our big focus was having real actors in a cartoony environment. So from here we then drew up a story board and started planning out the shots. After this some of the modeling was started and coding began on the cloth simulator, and we went to shoot some test footage to get an animatic up. This original footage was used to confirm our timing estimates in the story board and see what worked and what should be cut, lengthened, or taken out entirely. After this it was on to getting the actual footage we were going to use. Then after we had that footage and the modeling and programming was near finished, we used the calibration scenes to calibrate the scene in Maya. After some minor tweaking in Maya we then fixed up the lighting and some of the original textures used, and while this was going on the morphing effect and some green screen removal and other tweaks were being done in Premier. Then after Maya things were done the scenes were rendered and used as the bottom layer of our video in Premier. Then the final scene was input to the cloth simulator the rendering from the program was captured using a screen recording program (since OpenGL was not letting us output the framebuffer to an image without color distortion), and reinput to Premier for the final composting. Then while the final composting was being worked on sound was added in. Then some final adjustments were done in premier for title screens and credits and the video was exported to an avi file.
Shot Planning
Shot planning was our next step after coming up with a story line. We began by simply drawing a cartoon version of the story, creating different shots as needed to express the story.
|
We used this storyboard to get an idea of how long the short would be (we incorporated shots 4 and 5 into shot 6 and combined shots 11 and 12) and to make a list of the elements we would have to create in Maya and the clips we would have to film. We then grouped these different shots according to the focus and zoom that would be required so that we could efficiently gather camera parameters we would need to combine our green-screen footage with the CG elements in Maya.
For each different scene we also took footage of a checker board, first with it held in about 12 different angles and second with it flat against one of the planes in the scene (floor or wall). After digitally capturing each angled shot as a frame, we loaded them into a calibration toolkit for Matlab. After following the tutorial provided, the program gave us both the intrinsic properties and the extrinsic properties of the camera for that particular scene. These properties we then applied to the camera created in the corresponding Maya scene. This provided us with an easy and accurate way to integrate our real footage with the CG world we created, allowing for a more "believable" scene (i.e. the actors actually look like they’re walking on the CG sand instead of floating).

Modeling
The backgrounds for our entire short were created in the 3-D modeling and animation software, Maya 6.0. This was a challenging part of the production because none of our group members had any experience with using Maya, much less dealing with its 'quirks'. We created two different scenes, the first being a desert plane with cacti and the second featuring a large cliff with sandy dunes below. Both scenes are made entirely of Nurbs spheres and planes that we transformed, deformed, combined, and textured. Texturing turned out to be a vital part of the process, as the look of the environment needed to be a delicate balance between photo-realism to work with our live footage and cartoony simplicity to fit with our storyline and overall look. Several of the images we used to texture the scenes were found online, while others had to be custom made - either by using a base image and generating a pattern based on that image in Photoshop (the cactus texture) or by taking our own, high-resolution photos and overlaying different colors to make the different elements match (the sand). Finally, we had the camera pan to the right as our Coyote chased the Roadrunner. We accomplished this by key-framing the camera in two different location and rendered out the animation of the interpolated shots in between.

Morhping Effect
The morphing scene when Ellen’s hunger-worn mind turns Chris into a yummy turkey was done using Abrosoft’s Fantamorph software. This is a fairly simple to use program, though the actual placing of corresponding morphing points takes practice. However, when points are properly placed, the specified areas in the initial picture will smear and translate to the corresponding areas of the second picture, all while slowly integrating and fading out the old picture. This produced an animated gif image (slyly getting around the company’s logo watermark…) which we then imported into our existing scene in Premiere.

Code Development
The software created in this project used a cloth simulator in OpenGL to simulate the scene getting pulled into a hole. The hole was modeled in OpenGL by figuring out the coordinates by hand. The frames were read in as a series of png images with increasing numbers in the file names. These were then used as textures on a polygon. This polygon was the cloth which was modeled by making each mass be a vertex on the polygon. Then in between each of these masses springs were inserted vertically, horizantally and diagonally. This makes the cloth look natural. To simulate the pulling a force was applied to each mass, and the magnitude of the force was inversly related to the distance from the center of the cloth, this simulated pulling. After this I noticed the cloth would look like all of it was being pulled straight down and not inwards, to solve this I added a force to all the masses which pulled them towards the center of the cloth after the initial force was applied. This program is still just interactive as I did not have time to put in a scripting engine but I was able to get the right look within a few tries of just manipulating the program from the key interface I made.
For lighting standard OpenGL lighting with smooth shading was used, with two lights. On the cloth the normals were calculated at each frame for all the vertices on the cloth. This helped to enhance the cloth effect.
The reading in of pngs images was done by NVidia as part of their SDK so I just used that verbatim. For the cloth simulation I used skeleton code from a graphics book I have (Mathematics For Game Developers), and then tweaked forces and mass weights, in addition to adding texture and normals to the cloth. The drawing code I wrote from scratch, and the Vector class I had already made as part of another project.
The code is here. To run you just extract it and run the bat file included. This will use the default pictures in the images directory. To use your own images save out a video to png images of the form videoName000.png and put them in the images folder. Then run
bin/Release/video_texture.exe videoName -f endFrameNum [-s startFrameNum]
If you omit the -s option 0 is assumed as the start frame.
The controls are as follows.
8 - Pull cloth towards you (-z)
2 - Pull cloth away from you (+z)
4 - pull cloth left (-x)
6 - pull cloth right (+x)
5 - pull cloth upwards (+y)
0 - pull cloth upwards (-y)
1 - Anchor sides only
9 - anchor top/bottom
3 - anchor all sides
7 - anchor no sides
w - move foward
s - move backward
d - move right
a - move left
x - move down
z - move up
r - look up (Y axis)
f - look down (Y axis)
q - rotate view right (xz axis)
e - rotate view left (xz axis)
o - toggle play video (will stop video and reset to frame 1)
c - toggle cloth display
v - toggle floor display
b - toggle hole display
n - toggle light display (not lighting just spheres representing the lights)
All the development was done on a windows machine using Visual Studio .Net. The solution file and project file are included along with all necessary libraries, header files and dlls. Remember to set your paths to point to the paths in the folder in Visual Studio (under Options->Projects->VC Directories).
Screens


Premiere Magic
Many of the smaller, subtle effects in our movie were accomplished using Adobe Premiere. First off, all of our footage was segmented using a chroma key filter. This removes the green screen in all of our footage. This is sometimes the hardest part of editing because the green screen can give you ugly haloing effects. The second effect applied to most all of the footage was scaling. Two of the shots had a simulated zooming out effect. This was accomplished by using premiere to animate the scale and position of the footage. Animating the scale and position of footage within premiere is done by specifying keyframes along the timeline of a clip. Premiere does all the interpolating between keyframes for you. Almost all of the footage in our movie was also sped up. This process involved a lot of splicing up clips to speed up certain areas more than others. This was used extensively in the last "vortex" effect. Editing some of the more complex scenes ended up having upwards of 8 separate layers.

Stretching Effect
The primary effect that was acheived solely in premiere was the effect of stretching Ellen's body. To do this, I used two separate copies of the footage of Ellen. Then I used only her torso and up for one segment and only her legs for the other one. These two clips were carefully matched up so that it appeared as one clip. Then I scaled her legs in the Y-axis over a few frames. This gave the appearance that her legs were falling and stretching but her body remained stationary.
Falling Effects
The scene in which Ellen is falling through the air has a few effects applied to it to make it appear as though she is actually falling. First off, we put an im age of the sky behind her which conveys she is in the air. Second, the footage of her actually in the harness and looking at the newspaper/solving the rubik's cube was sped up. Since we used a fan to get the windy effects on her hair and clothes, speeding up the footage makes the wind appear faster thatn it actually was. Lastly, I animated the position of the green screen footage on the background to give the sense that wind was rushing by the camera and making it unstable.
Vortex Effect
We refer to the last scene in the movie as the "Vortex effect" because things are being sucked into a hole. In this scene, you see a picnic get sucked into a hole, then two people are sucked in, and finally the entire scene is sucked in. The effect of two people being sucked into the hole was heavily dependent on "premiere magic." We had footage of Edward and I climbing out of a "hole" that was surrounded by green. So we were able to segment out each of us climbing out of a hole. Then we reversed the playback of the footage to make it seem like we were being sucked into a hole. Finally, the footage was sped up by 800% to make it look like the vortex had some real power. I also added a little bit of the "shaking" effect that was done in the falling scenes. This made it look like the scene was resisting being sucked in at first, but then the suction became too much. This also helped cover up any inconsistencies in the footage of the main movie and the addition of the footage that was the input to chris' cloth simulator. The alignment here was slightly off, but it is difficult to notice because the screen is shaking around.
Music Selection
The music for our movie needed to have a cartoony theme to it to match the theme of our effects. We did a lot of searching for Charlie Chaplin style music and a lot of classical music that was used in Looney Tunes cartoons. We ended up finding a song that was upbeat and sounded fast-paced like some sort of chase scene. Secondly there was a crescendo bit that sounded perfect for matching up with our falling scene. We also used many cartoon style sound effects. Tracking these down was no easy task, and some of them were generated from other sounds entirely.
Special Thanks to
Ifran Essa
Jaeil "Jerry" Choi
Neo, you know, the main guy from "The Matrix"
Home Depot for an awesome fan
Link to this Page
- DVFX 2006 Groups last edited on 28 March 2006 at 1:15 pm by r52h135.res.gatech.edu
|