What is 3D Computer Graphics all about?
The field of 3D graphics is the most math-intensive method that humans have devised for creating art. This course will make heavy use of trigonometry and linear algebra.
The study begins with trying to model real-world interactions between light and the real world. Since modern computers cannot simulate the real world in real-time, huge branches of the field deal with optimization and design trade-offs.
The field of 3D graphics is very diverse. It requires multiple disciplines, including Software Engineering, Mathematics, Painting, Sculpting, Story-Telling, Hardware Engineering, Optics, Human Physiology, and Physics. Most practitioners are interested in more than one of these areas.
This course will focus primarily on 3D graphics for motion pictures and special effects. Most of what we cover also applies to video games as well.
3D Graphics Pipeline
The image below shows a 'Pipeline' of activities that take place to create a single shot for a 3D animation.
We will touch on all of these steps in this class.
Know the following definitions:
- Modeling: Creating the mathematical specification of a digital object. The objects often begin as basic primitives such as polygons, cubes, and spheres. The artist can stretch and change them to achieve the desired shape. The 3D viewer in most modeling software renders the digital object in grey to represent modeling clay.
- Rigging: Creating a digital skeleton for an object. The 'rig' allows an animator to apply motion to a figure. Rigs include bones and joints. This allows the create to move its limbs in a normal fashion. For example, you would want a human to bend its arms at the elbow and wrist, not midway along the humerus. The surface model is attached to the rig so that it moves with the bones.
- Simulation: A technique for using a mathematical model to animate an object or groups of objects. The model is often, but not always, physics-based. This is often done for shots with large numbers of objects that would otherwise be impractical to animate by hand, or for simulations that would ne difficult to make realistic by hand. Examples include cloth simulators, hair simulators, particle simulators for generating smoke, crowd simulators, and ocean simulators.
- Animation: a technique to create an illusion of motion through a series of images. Animation modifies a model by adding the concept of movement over time. This is generally done by setting 'keyframes' that indicate the position of a model in each frame.
- Skinning: allowing the skin of a creature to stretch and deform as joints are bent. Imagine an arm modeled from two cylinders connected at an elbow joint. If you bend the arm, the skin on the outside needs to stretch and the muscle on the inside needs to deform. Making these adjustments by hand would take the animator a long time. Skinning algorithms do this automatically to save time. But automating this process is not easy. There is a lot of research into writing algorithms that do this quickly and accurately.
- Match-Moving: Animating a virtual camera in a digital scene so as to match the movement of a real camera against a series of background images. This technique is used to reverse-engineer the movement of a real-world camera when inserting digital elements into live footage.
- Camera Animation: A virtual camera is an element in a digital scene. The camera can be animated just like any other object in the scene. Doing so changes the perspective of the viewer when the frames are rendered. This technique is used constantly in first-person shooter video games.
- Lighting: Creating virtual lights for a digital shot. The lights affect how objects in the scene are rendered. Different lights illuminate the scene in different ways and change the overall look and feel of the illuminated objects. Lights can simulate the sun, lights bulbs, flourescent lights, black lights, etc.
- Rendering: The creation of image files from 3D digital objects. There are multiple ways this can be done. In this class, we will discuss 'ray-tracing' and 'ray-casting'.
- Compositing: The process of combining multiple Layers into a single image. This is often used to combine digital elements with live footage, or live footage shot in front of a blue-screen with a different background. The purpose is usually to give the impression that all of the elements were part of the same scene.
- Post-process: This is a catch-all for dozens of actions that could take place after the images are created. These include color correction, resizing, letter-boxing, adding subtitles, editing, printing to film, format conversions, etc.
Definitions
Many of the following terms have multiple meanings in the graphics industry. We will be using the following definitions in this class:
- Artifact Two unrelated definitions: (1) The output files from a processing step. These may be images, binary, or text files. For example, the output artifact from modeling is a "scene file". The output artifact from rendering is an image file. A successful processing step will always produce at least one artifact, and may produce more. In the pipeline image above, each step produces an artifact that is used as input for the next step. (2) An undesired alteration in digital data caused by some anomaly in a computing process. See the image to the right taken with a digital camera. The complicated grid pattern of the cat's bed caused an unexpected result when processed by the camera's compression algorithm.
Electricity in the USA is standardized to cycle at 60hz. In Europe and much of the rest of the world it runs at 50hz. Televisions refresh their screens at the same rate as the power cycle. The VHS/DVD frame rates of 30fps and 25fps were chosen because they are evenly divisible by these refresh rates. Remember the list above of multiple disciplines that you need to understand? Add Electrical Engineering to the mix.
- Frame A single image that makes up a movie. Most motion pictures run at 24fps (Frames Per Second). VHS tapes and DVDs typically run at 30fps in the USA and 25fps in Europe.
The human retina maintains an image for 1/16th of a second. Images need to stream at 16hz or faster to be perceived as real motion.
- Layer Multiple images are often composited together by laying one on top of the other. Some of these images have transparent portions so that the lower layers show through them. It is convenient when editing images to keep multiple layers so that each element can be manipulated separately. A single Frame is often made up of multiple Layers.
- Scene Generally thought of as the action that takes place in a single location and continuous time. It may be filmed from multiple cameras and the results spliced together. For example, a scene in a movie may consist of two people talking in a car. The scene begins when they enter the car and ends when they exit. The director may choose to switch between footage from multiple cameras, but the action on the screen plays out more or less in real-time.
- Shot Action that takes place in frames that are taken sequentially from a single camera. Generally, several shots will make a single scene. If a single scene switch back and forth between two cameras, a new shot is started every time the camera changes.
- Take An actor's actions recorded on film. The director usually shoots multiple takes of the same action in order to get slightly different reactions from the actors.
|
| Compression artifacts in an image taken from a digital camera. This image is from the Wikipedia article Digital Artifact |
We will generally set up Blender to produce a single shot of video at a time. The shots will be spliced together into scenes using different tools.
Introduction to Blender
We are going to jump directly into creating graphics in this class. Our primary modeling program is 'Blender'. Blender is a free and open-source 3D graphics software application. It can be used for most of the big steps in the 3D graphics pipeline: modeling, rigging, skinning, animating, simulations, texturing, match moving, and compositing.
Blender is available under the GNU General Public license. All end-users have the right to use, share, and modify this software free of charge.
The version installed on the lab computers is Blender 2.68a for Windows 32-bit. If you install this software on your personal computer, please install the same version to minimize any differences. The same version is also available for Linux.
We are going to walk through how to use Blender in class. This information is covered extremely well in the six online tutorials at this website: http://cgcookie.com/blender/cgc-courses/blender-basics-introduction-for-beginners/
The first two videos will get you up-to-speed with today's class. We will go over Modeling (#3) next time.
There is a good written tutorial here.
Here are some good Blender reference-sheets. Note that these are from earlier versions. Some key-mappings may have changed:
The complete Blender 2.6 manual is online here.
Blender Display
The default Blender display is shown below. There are five 'Display Regions' that come up by default. These can be removed, resized, and changed.
Use the image below as a reference:
- The five different colors outline the default 'Display Regions'.
- The white circles show the controls for changing the type of information displayed in each region. Any region can host any type of display. Click on the circled icon in blender to see the complete list.
- You can resize the regions by grabbing the border between them.
- There are small grey triangles in the lower-left and upper-right corner of each Display Region. These can be used to create new Display Region or destroy existing ones.
- The 3D View has a "Tool Shelf" on the left side. It can be hidden.
- The 3D View has a "Viewport Properties" tab on the right side. It is hidden in the picture below. Click on the '+' side near the top of the 3D View to open it.
- This exercise is to start getting used to using Blender. Be sure that you can do each of the following:
- Modify the Display regions:
- Identify the 5 that come up by default
- Change their sizes
- Set them all to '3D View'
- Open and close the 'Tool Shelf' and 'Properties' controls on the left and right of the 3D View (Use the '+' icons; press 't' and 'n')
- Reset them to Info, 3D View, Timeline, Outliner, and Properties
- Create a new Display area below the Timeline
- Remove as many Display areas as you can. What is the minimum number?
- Move the User's Perspective of the default cube:
- Rotate (MMB)
- Pan (Shift-MMB)
- Zoom (Mouse wheel)
- Zoom (Ctrl-MMB)
- (Numpad 2,4,6,8)
- (Numpad Ctrl-2,4,6,8)
- Select different objects (RMB)
- Select multiple objects (Shift-RMB)
- Look through the virtual camera vice the User's Perspective (View menu; Numpad 0)
- Switch to Front/Right/Top views (Numpad 1,3,7)
- Select the cube (RMB)
- Translate the cube (Use RGB arrows; G, move mouse, LMB to confirm; Properties tab)
- Rotate the cube (R, move mouse, LMB to confirm)
- Scale the cube (S, move mouse, LMB to confirm)
- Delete the cube (RMB->Delete in the outliner)
- Create a new cube (Space, type 'cube', select 'Add Cube')
- Create a sphere (Space, type 'sphere', select 'Add UV Sphere')
- Create a torus (Space, type 'torus', select 'Add torus')
- Create a new cube (Add->Mesh->Cube)
- Create a new cube (Shift-A, Mesh->Cube)
- Using the translate manipulators, put the torus on top of the cube and the sphere on top of the torus. Hint - use Numpad 1, 3 & 7 to switch views so that you can translate them more easily.
- Build a pyramid of cubes
- Modify the Display regions:
There is nothing to hand in for this exercise. In out next class, we will begin building models with Blender. You need to be ready to perform all of the basic skills above before class begins.
EXPECT A TIMED SKILLS TEST ON THE ABOVE.