1 / 55

Animation Process

Animation Process. while (not finished) { MoveEverything(); DrawEverything(); } Interactive vs. Non-Interactive Real Time vs. Non-Real Time. Character Rigging. Skeleton Skin Facial Expressions Muscles Secondary motion: fat, hair, clothing…. Character Animation. Keyframe Animation

istas
Télécharger la présentation

Animation Process

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Animation Process while (not finished) { MoveEverything(); DrawEverything(); } • Interactive vs. Non-Interactive • Real Time vs. Non-Real Time

  2. Character Rigging • Skeleton • Skin • Facial Expressions • Muscles • Secondary motion: fat, hair, clothing…

  3. Character Animation • Keyframe Animation • Motion Capture • Inverse Kinematics • Locomotion • Procedural Animation • Artificial Intelligence

  4. Character Animation

  5. Physics Simulation • Particles • Rigid bodies • Collisions, contact, stacking, rolling, sliding • Articulated bodies • Hinges, constraints • Deformable bodies (solid mechanics) • Elasticity, plasticity, viscosity • Fracture • Cloth • Fluid dynamics • Fluid flow (liquids & gasses) • Combustion (fire, smoke, explosions…) • Phase changes (melting, freezing, boiling…) • Vehicle dynamics • Cars, boats, airplanes, helicopters, motorcycles… • Character dynamics • Body motion, skin & muscle, hair, clothing

  6. Physics Simulation

  7. Animation Tools • Maya • 3D Studio • Lightwave • Filmbox • Blender • Many more…

  8. Animation Production • Conceptual Design • Production Design • Modeling • Materials & Shaders • Rigging • Blocking • Animation • Lighting • Effects • Rendering • Post-Production

  9. Resolution & Frame Rates • Video: • NTSC: 720 x 480 @ 30 Hz (interlaced) • PAL: 720 x 576 @ 25 Hz (interlaced) • HDTV: • 720p: 1280 x 720 @ 60 Hz • 1080i: 1920 x 1080 @ 30 Hz (interlaced) • 1080p: 1920 x 1080 @ 60 Hz • Film: • 35mm: ~2000 x ~1500 @ 24 Hz • 70mm: ~4000 x ~2000 @ 24 Hz • IMAX: ~5000 x ~4000 @ 24-48 Hz • Note: Hz (Hertz) = frames per second (fps) • Note: Video standards with an i (such as 1080i) are interlaced, while standards with a p (1080p) are progressive scan

  10. Interlacing • Older video formats (NTSC, PAL) and some HD formats (1080i) use a technique called interlacing • With this technique, the image is actually displayed twice, once showing the odd scanlines, and once showing the even scanlines (slightly offset) • This is a trick for achieving higher vertical resolution at the expense of frame rate (cuts effective frame rate in half) • The two different displayed images are called fields • NTSC video, for example, is 720 x 480 at 30 frames per second, but is really 720 x 240 at 60 fields per second • Interlacing is an important issue to consider when working with video, especially in animation as in TV effects and video games • Computer monitors are generally not interlaced

  11. Rendering • There are many ways to design a 3D renderer • The two most common approaches are: • Traditional graphics pipeline • Ray-based rendering • With the traditional approach, primitives (usually triangles) are rendered into the image one at a time, and complex visual effects often involve a variety of different tricks • With ray-based approaches, the entire scene is stored and then rendered one pixel at a time. Ray based approaches can simulate light more accurately and offer the possibility of significant quality improvements, but with a large cost • In this class, we will not be very concerned with rendering, as we will focus mainly on how objects move rather than how they look

  12. Coordinate Systems • Right handed coordinate system

  13. 3D Models • Let’s say we have a 3D model that has an array of position vectors describing its shape • We will group all of the position vectors used to store the data in the model into a single array: vn where 0 ≤ n ≤NumVerts-1 • Each vector vn has components vnx vny vnz

  14. Vector Review

  15. Vector Arithmetic

  16. Vector Magnitude • The magnitude (length) of a vector is: • A vector with length=1.0 is called a unit vector • We can also normalize a vector to make it a unit vector:

  17. Dot Product

  18. Dot Product

  19. Example: Angle Between Vectors • How do you find the angle θ between vectors a and b? b θ a

  20. Example: Angle Between Vectors b θ a

  21. Dot Products with General Vectors • The dot product is a scalar value that tells us something about the relationship between two vectors • If a·b > 0 then θ < 90º • If a·b < 0 then θ > 90º • If a·b = 0 then θ = 90º (or one or more of the vectors is degenerate (0,0,0))

  22. Dot Products with One Unit Vector • If |u|=1.0 then a·u is the length of the projection of a onto u a u a·u

  23. • x n p • Example: Distance to Plane • A plane is described by a point p on the plane and a unit normal n. Find the distance from point x to the plane

  24. • x n p • Example: Distance to Plane • The distance is the length of the projection of x-p onto n: x-p

  25. Dot Products with Unit Vectors 0 <a·b < 1 a·b = 0 a·b = 1 b θ a -1 < a·b < 0 a·b a·b = -1

  26. Cross Product

  27. Properties of the Cross Product is a vector perpendicular to both a and b, in the direction defined by the right hand rule area of parallelogram ab if a and b are parallel

  28. Example: Normal of a Triangle • Find the unit length normal of the triangle defined by 3D points a, b, and c c b a

  29. Example: Normal of a Triangle c c-a b a b-a

  30. Example: Area of a Triangle • Find the area of the triangle defined by 3D points a, b, and c c b a

  31. Example: Area of a Triangle c c-a b a b-a

  32. Example: Alignment to Target • An object is at position p with a unit length heading of h. We want to rotate it so that the heading is facing some target t. Find a unit axis a and an angle θ to rotate around. t • • p h

  33. Example: Alignment to Target a t t-p • θ • p h

  34. Vector Class class Vector3 { public: Vector3() {x=0.0f; y=0.0f; z=0.0f;} Vector3(float x0,float y0,float z0) {x=x0; y=y0; z=z0;} void Set(float x0,float y0,float z0) {x=x0; y=y0; z=z0;} void Add(Vector3 &a) {x+=a.x; y+=a.y; z+=a.z;} void Add(Vector3 &a,Vector3 &b) {x=a.x+b.x; y=a.y+b.y; z=a.z+b.z;} void Subtract(Vector3 &a) {x-=a.x; y-=a.y; z-=a.z;} void Subtract(Vector3 &a,Vector3 &b) {x=a.x-b.x; y=a.y-b.y; z=a.z-b.z;} void Negate() {x=-x; y=-y; z=-z;} void Negate(Vector3 &a) {x=-a.x; y=-a.y; z=-a.z;} void Scale(float s) {x*=s; y*=s; z*=s;} void Scale(float s,Vector3 &a) {x=s*a.x; y=s*a.y; z=s*a.z;} float Dot(Vector3 &a) {return x*a.x+y*a.y+z*a.z;} void Cross(Vector3 &a,Vector3 &b) {x=a.y*b.z-a.z*b.y; y=a.z*b.x-a.x*b.z; z=a.x*b.y-a.y*b.x;} float Magnitude() {return sqrtf(x*x+y*y+z*z);} void Normalize() {Scale(1.0f/Magnitude());} float x,y,z; };

  35. Translation • Let’s say that we want to move our 3D model from it’s current location to somewhere else… • In technical jargon, we call this a translation • We want to compute a new array of positions v′n representing the new location • Let’s say that vector d represents the relative offset that we want to move our object by • We can simply use: v′n = vn + d to get the new array of positions

  36. Transformations v′n = vn + d • This translation represents a very simple example of an object transformation • The result is that the entire object gets moved or translated by d • From now on, we will drop the n subscript, and just write v′= v + d remembering that in practice, this is actually a loop over several differentvn vectors applying the same vector d every time

  37. Transformations • Always remember that this compact equation can be expanded out into • Or into a system of linear equations:

  38. Rotation • Now, let’s rotate the object in the xy plane by an angle θ, as if we were spinning it around the z axis • Note: a positive rotation will rotate the object counterclockwise when the rotation axis (z) is pointing towards the observer

  39. Rotation • We can expand this to: • And rewrite it as a matrix equation: • Or just:

  40. Rotation • We can represent a z-axis rotation transformation in matrix form as: or more compactly as: where

  41. Rotation • We can also define rotation matrices for the x, y, and z axes:

  42. Linear Transformations • Like translation, rotation is an example of a linear transformation • True, the rotation contains sin()’s and cos()’s, but those ultimately just end up as constants in the actual linear equation • We can generalize our matrix in the previous example to be:

  43. Linear Equation • A general linear equation of 1 variable is: where a and d are constants • A general linear equation of 3 variables is: • Note: there are no nonlinear terms like vxvy, vx2, sin(vx)…

  44. System of Linear Equations • Now let’s look at 3 linear equations of 3 variables vx, vy, and vz • Note that all of the an, bn, cn, and dn are constants (12 in total)

  45. Matrix Notation

  46. Translation • Let’s look at our translation transformation again: • If we really wanted to, we could rewrite our three translation equations as:

  47. Identity • We can see that this is equal to a transformation by the identity matrix

  48. Identity • Multiplication by the identity matrix does not affect the vector

  49. Uniform Scaling • We can apply a uniform scale to our object with the following transformation • If s>1, then the object will grow by a factor of s in each dimension • If 0<s<1, the object will shrink • If s<0, the object will be reflected across all three dimensions, leading to an object that is ‘inside out’

  50. Non-Uniform Scaling • We can also do a more general nonuniformscale, where each dimension has its own scale factor which leads to the equations:

More Related