Final Project

The rendered video of my final animation.

Proposal

My project is a fly-through of the solar system. The animation is set to the song "Prelude" by Pendulum.

Pre-Production/Planning

I had a general idea of how I wanted my story to be laid out, and this helped me with the first step of the process which was creating a storyboard. My storyboard can be seen in the previous blog post. The rest of the pre-production phase consisted of me doing extensive research in order to try and make my animation of the solar system as accurate as possible. Here is a list of the sources that I used when researching the solar system and what I used them for:
Most of the texture maps that I used came from NASA (http://tinyurl.com/nyjdo6o). The only texture maps that did not come from NASA were the Sun (http://tinyurl.com/mt356sh), the Moon (http://tinyurl.com/9ty74kf), Mercury (http://tinyurl.com/mf49pn), Uranus (http://tinyurl.com/mfzld8d), Saturn's rings (http://tinyurl.com/2bjs5n5), and the stars (http://tinyurl.com/ldm9se3).

Production Log

The first thing I did was setup a scale. I decided to scale everything off of the Moon since, aside from Pluto, it would be the smallest object in my animation. In my original scale, the Moon would have a radius of 1 and everything would be scaled off that. However, this scale was too large so I divided it in half. The moon would now have a radius of 0.5 and everything would be scaled off of that (i.e. the Sun is 416 times the size of the moon so its radius was 208).

The first object that I created was the sun, since all of the distances in my animation would be from the Sun. The Sun, the Moon, and all of the planets were created from Polygon spheres. All of the planets are in line with the center of the Sun (they have the same Translate Y and Translate Z attributes). I scaled the distance of the planets from the sun using Astronomical Units (AU). I multiplied the actual AU distance of the planets from the Sun by 10 and added this to the formula that I used to calculate the Translate X attribute of each planet based on the Sun. The formula that I used to calculate the Translate X attribute of the planets was as follows Translate Xplanet = Translate XSun + RadiusSun + Scaled Distance from Sun. Using this information about planet size and distance from the sun I was able to create all of the planets in Maya.
A screenshot of my final animation in production. This shows an overview of the entire solar system. When all of the planets are in frame, the only objects that are big enough to see are the Sun, Jupiter, and Saturn.
After I had the Sun and all of the planets created, I applied Lambert shaders to all of them. I then mapped the texture files that I had into the color channels of all of them. I also used other attribute maps in addition to color maps. For the Sun, I also mapped the file into the incandescence channel. For Mercury, Mars, and Earth I used the texture files for Bump Mapping. For the gas giants (Jupitar, Saturn, Uranus, and Neptune) I adjusted the transparency attribute of the Lambert shader to give them a more gaseous look. In order to make clouds on earth, I created another Polygon sphere that was slightly larger than the Earth around it and applied a Lambert shader to it. I mapped the cloud texture into the color channel of this Lambert shader and messed around with the textures attributes until I got it to look the way I wanted it to look. Saturn's rings were created using a Polygon torus that I flattened. I applied a Lambert shader to the torus. For Saturn's rings, I had two texture files. One was a color map and the other was a transparency map. I had to adjust the Rotate UV attribute of the 2D texture map to make the texture look right.

After I finished texturing the Sun and planets, I started animating their rotations. I grouped Saturn and its rings and the Earth and its clouds so they would rotate together. I used the Freeze Transformations commands to rotate the axes of rotations to the appropriate angle. For the Sun and each planet, I keyed the Rotate Y to get them rotate. I started with 0° at the first frame and ended with 4829.72° on the last frame. I'm not sure exactly why I chose 4829.72° (other than the fact that this made the Sun and planets spin enough times to last the whole animation) but this means they each rotate just over 13 times.

I then created the Moon and applied a Lambert shader to it with color and bump maps. I made the Moon rotate around the Earth by attaching it to a motion path. I used the Graph Editor to make sure all of the tangents of the animated attributes were linear.

I created the stars in the background using a Polygon sphere. The Sun, the Moon, and all of the planets are in this sphere. I applied a Lambert shader to this sphere and then mapped the star texture into the color channel of this Lambert shader.

The scene is captured using a camera that I created. I animated the position (translate) and rotation attributes of this camera to focus on the planets. The scene is lit using an ambient light. I wanted to use a point light in the Sun but this did not look good so I settled on using an ambient light on the overall scene.

The animation is 1450 frames long. I batch rendered the animation into a TIFF sequence. This took about 4 hours. I then imported the TIFF sequence into Premiere. In Premiere I added the titles, transitions, and music. I then rendered the final video and posted it on YouTube. The final product is 1 minute long.

Self-Evaluation

I've learned a lot about animation this semester. I came into this semester knowing nothing about animation except how to watch other people's animations. It was really cool to be able to learn about Maya and how to create my own animations. I learned that the entire process of animating – from modeling to rendering – is extremely time consuming. But, it is also extremely rewarding. If you are willing to put in the time and effort, you can create some really amazing things.

I am really happy with how my final project came out. I'm also glad that I was able to present it to the class. I now know that I have to leave a lot of time for rendering in order to get my projects done in time. This project also helped me get more comfortable with Polygon modeling which was nice. It also helped me become more familiar with cameras, lighting, rendering, and especially textures and shading. Overall, this class was very informative and I think everyone did a great job with their final projects!

Storyboard

For this project, I had to create a storyboard for my final project. My final project is a fly-through of the solar system. Since this does not have much of a story, my storyboard shows the order of scenes in my animation. My storyboard is below.
The storyboard for my final project.

Character Animation

For this project, I had to animate a pre-rigged character. The character that I chose was a really simple one to animate. I got this character rig from a friend who used it in the Figure Motion class. I decided to make my character do a salute. This involved keying the Rotation X, Rotation Y, and Rotation Z attributes of the different joints on the arm. The animation has 96 frames.
A screenshot of my character animation in Maya during production. The screenshot shows all of the keyframes for the shoulder joint in the timeline at the bottom as well as the keyed values for the rotation attributes for the shoulder joint (at frame 48) in the Channel Box on the right.

A rendered video of my final character animation.

Simple Animation

For this project, I had to create a simple animation. I chose to animate the scene from the Digital Cinematography exercise. All of the details for the creation of this scene, including information about shaders and lighting, are described in that project. All of these details were kept the same for this project, so I will just focus on the details related to how I animated the scene. This project also helped serve as a framework for my final project.
A Playblast of the animated Earth scene. The motion path for the Moon is clearly visible in this Playblast.
The Earth was animated using keyframe animation. The Rotate Y attribute of the Earth is keyed on the first and last frames. It changes from 0 to 1440 meaning that the Earth rotates 4 times. The Moon is animated using a motion path. The Moon is attached to the motion path (as seen in the Playblast above) and the motion path's U Value is keyed on the first and last frames. As the U Value changes from 0 to 1 the Moon rotates around the motion path. Just like with the last project, I was trying to experiment with the features in Maya rather than create a realistic depiction of how the Earth and the Moon rotate in space. Also, in the graph editor I set all of the tangents to linear because the animation was not looping properly at first. The animation has 120 frames. A video of the final animation can be seen below. For some reason the Earth does not rotate in the final animation. It is supposed to rotate the same way it does in the Playblast but it does not. I do not know what is causing this issue. I tried re-rendering the video, but this did not fix the issue.
A rendered video of the final animated Earth scene.

Digital Cinematography Exercise: Working with Shaders, Lighting, and Rendering

For this exercise, I had to experiment with materials (shaders), lighting, and rendering within Maya. I chose to create a scene that has the Earth and the Moon in a starry sky. One thing that was really important for me in this exercise was truly experimenting with the different textures within Maya. In order to ensure that this happened, I worked only with the textures in Maya and did not import any from outside sources. The project ultimately became the basis for my final project.
A screenshot of the Earth scene in Maya during production.
The stars in the background were created on a NURBS plane. I assigned a Lambert shader to this NURBS plane. Then, I mapped the Volume Noise texture to the color channel of this Lambert shader. I changed many of the properties of the Volume Noise texture, including the Threshold, Amplitude, Ratio, Frequency Ratio, and Frequency, in order to get the stars to look the way I wanted them to look. The Earth was made from a NURBS sphere and the Moon was made from a Polygon sphere. This was done so that I could get more experience using both NURBS and Polygons. They were both assigned Lambert shaders that had different textures mapped to their color channels. The texture that I used for the Earth was the Stucco texture. The texture that I used for the Moon was the Solid Fractal texture. As with the stars, I changed the various properties of the these textures to get them to look the way I wanted them to look. The scene is lit using a spot light. I changed the color of this spotlight to try to mimic sunlight. I also played around with the Intensity, Decay, Cone Angle, and Penumbra Angle. For this project, I was not trying to realistically portray the way the earth and moon would look or be lit in space. I was just trying to experiment with shaders, lighting, and rendering and do what I thought looked good. A rendered image of the final scene is below.
A rendered image of the final Earth scene.

Midterm - Self Evaluation

Given that I came into this class with no knowledge of Maya or 3D modeling in general, I think I've come a long way. When I started my first model, which was the penguin, I never thought that I'd be able to model actual, real-life items. I would see examples in class and pictures on the internet of things people modeled in Maya and be completely blown away. I never thought that I could make anything like what I saw in these examples. But now, even though most of the examples are still way beyond my experience level, I no longer feel totally incompetent. The learning curve was very steep, but I finally feel like I'm getting somewhere.

The first skill we learned that really helped improve my models was how to edit CVs. It took me some time to get used to this, but now I find myself pulling or pushing CVs in pretty much every NURBS model that I make. CV editing is a useful way to shape objects and make them feel organic. The one thing that bothers me about CV editing is that I'm a perfectionist and it's really hard and time consuming to get things to look exactly how I want them to look. One wrong move leaves you with an asymmetric mess and then you have to backtrack. But when used correctly CV editing can be used to makes some really cool models.

The next big breakthrough in my Maya learning experience was how to work with curves and surfaces. I feel that knowledge of curves and surfaces plays a pivotal role in making realistic models. I find the fact that I can revolve a simple curve around an axis and then have a glass or a light bulb to be amazing. Another thing that went well with this was when I learned how to import an image plane. Combining this with my knowledge of curves and surfaces further helped me improve my models. This gave me the ability to trace the general shape of everyday items and then turn that tracing into models that look even more realistic.

Overall, I still have a lot to learn and a lot of room for improvement. My models are getting better but they are nowhere near the professional quality that they would need to be if I chose a career in animation. Maya is such an extensive software, so the learning process is going to be slow and steady. I constantly hit snags along the way, but I'm learning how to fix them. For example, when editing CVs I used to have an issue where I would go to select one CV and 20 would get selected. I now learned that this was because Soft Selection was turned on. Turning Soft Selection off allowed me to be able to select one CV at a time. I also have a tendency to overcomplicate simple processes. For example, when making the faces for the body of my guitar all I had to do was copy the curve on the front, move the duplicated curve to the back, and loft between them. Instead, I projected curves on planes, trimmed them, and did a lot of unnecessary steps. But now I know for the future how to simplify tasks like this.

All of these mistakes are an integral component of the learning process because they help me learn through experience. One of my goals for the second part of the semester, in order to help further facilitate the learning process, is to spend more time outside of class learning with my peers and through online tutorials. I feel that by doing this and more independent work, I can really help improve my animation skills. So in short, even though Pixar isn't knocking down my door and asking me to animate a movie for them, I'm progressing and I'm happy with my progress.

Patrick Star

Another project that I started working on in Maya is creating models of the main characters from SpongeBob SquarePants. The first character that I tried modeling was Patrick Star. All I did for this project was started tracing Patrick with a CV Curve. I was unsure of how to go about completing this project. I was considering trying out some polygon modeling or watching tutorials. This was going to be my final project, but I ultimately abandoned this project and chose something else to work on for my final project.
Image of Patrick that I started tracing
(http://upload.wikimedia.org/wikipedia/en/7/7e/Patrick_Star.png)
Screenshot from Maya of the initial model of Patrick in progress.

Guitar [WIP]

A project that I started working on in Maya is a guitar. This project was inspired by the fact that I know a lot of people, including my sister, who play the guitar. I used an image I found online to trace the shape of the guitar and my sister's guitar to estimate the depth of the guitar. I did not get to finish this project since I had to shift focus to my final project, but it is definitely a project that I want to go back to and try to finish.
Source image that I'm using to trace the shape of the guitar.
(TinyURL.com/qhj2nla)
My sister's guitar that I'm using to estimate the depth of the guitar.
The neck of the guitar is made from a NURBS rectangle. The body of the guitar is made from a Bezier Curve that I traced from the aforementioned picture that I put in Maya as an image plane. I then extruded the curve. For the front face, I projected the curve onto a NURBS plane and then trimmed the plane to the curve. I copied and pasted this trimmed plane to use for the back face. For the sound hole, I projected a NURBS circle onto the front face of the body and trimmed it. The guitar is colored using Lambert shaders. The scene is lit using an ambient light.
A screenshot from Maya that shows the guitar in development.
A rendered image of the guitar in progress.

Curves and Surfaces Model

For my Curves and Surfaces Model, I made a desk lamp. This was inspired by the desk lamp that I have in my room. As seen in the picture, the original lamp is all gray. I added other colors to my model to make it more interesting.
The lamp that inspired this project.
The base of the lamp is a NURBS sphere that's swept from 0°-180° in order to form a half circle. The shaft of the lamp is made of two NURBS cylinders. By placing a short thick cylinder on top of a long thin one, I was able to replicate the shaft of the original lamp. The rotation mechanism for the lamp is composed of a sphere that fits into the shaft and a cylinder that extends from that sphere into the lampshade holder. The lampshade holder is a revolved surface that originated as a curve. Its shape resembles that of a funnel. The lampshade is made of two parts. The first part is half of a NURBS sphere that forms the round portion at the bottom of the lampshade. The second part is a revolved surface made from a line to form the opening of the lampshade. The light bulb is also a revolved surface that originated as a curve. The lamp shaft and other metallic parts are colored using a Blinn shader. The lampshade and base are colored using a Phong shader. The light bulb is colored using a semi-transparent Phong shader. The scene is lit using an ambient light. There is also a spotlight that points out of the lampshade at the same angle as the bulb to provide light from the lamp.
A screenshot from Maya that shows the lamp in development and also includes a view of the shaders and Outliner.
A screenshot from Maya that shows the two different parts of the lampshade.
A rendered image that shows the rotation mechanism and lampshade holder.
A rendered image that shows a side view of the finished lamp.

A rendered image that shows the lamp at an angle with the light bulb.


NURBS Primitives Model with CV Editing

For my NURBS Primitives Model with CV Editing, I made a pig. I got this idea from the pig coaster that I have in my room. The coaster is a flattened out version of a pig, and this gave me the idea for how I could pull the CVs on a sphere into that shape and create the body of a pig.
The pig coaster that inspired this project.
The eyes and head are made out of various sized NURBS spheres. The nose is a NURBS cone with two spheres in it to form the nostrils. The mouth is a NURBS torus that is swept from 0°-180° in order to form the half circle shape. I edited the CVs on the torus so that it would wrap around the head. The tail and ears are made from NURBS cones. The cones for the ears are flattened. The body of the pig is made out of a NURBS sphere. I pulled and edited the CVs on the sphere to form body of the pig with the legs. The pig is colored using Lambert shaders. The scene is lit with two ambient lights. The pig's name is George.
A screenshot from Maya that shows the pig in development.
A rendered image of the pig.


Bouncing Ball

The bouncing ball tutorial is pretty much the standard Maya Tutorial. This tutorial is from the Learning Maya textbook. It helped me get comfortable with all of the basic tools in Maya. It also helped me learn more about texturing/shading, lighting, and rendering. Another useful feature of Maya that this tutorial introduced was particle emitters, specifically fire in this case. This tutorial serves as a good introduction to Maya.
A screenshot from Maya of the bouncing ball in development.
A rendered image of the final bouncing ball.

NURBS Primitives Model

For my NURBS Primitives Model I decided to make a penguin. This idea was partially inspired by the penguin from Super Mario 64. I did not try to model my penguin exactly like the one in the video game since I felt it was slightly complex for my first project. However, Super Mario 64 is one of my favorite video games, and racing the penguin on Cool, Cool Mountain is a lot of fun.
The Big Penguin from Super Mario 64
(http://www.mariowiki.com/images/4/44/Racingpenguin.png)
This was a good starter project because it helped me get acquainted with multiple NURBS primitives and the various tools and modeling techniques within Maya. The penguin is made mostly of NURBS spheres. The body, wings, and feet are just spheres that I elongated. The head is a sphere and the eyes and pupils are smaller spheres. The stomach is a sphere that I elongated and flattened. I then pulled the CVs on this sphere to get it to wrap around the body. The beak, which is a NURBS cone, is the only thing that's not a sphere. This project also helped me get comfortable with shaders, lighting, and rendering. The penguin is colored using a variety of Lambert shaders. The scene is lit with a combination of ambient, directional, and spot lights.
A screenshot from Maya that shows the penguin in development and also includes a view of the shaders and Outliner.
Below are rendered images of my penguin from three different views. The penguin's name is Pengy.
Penguin - Front View
Penguin - Top View
Penguin - Side View