computer animation computer animation making things move
play

Computer Animation Computer Animation Making things move A key - PDF document

Computer Animation Computer Animation Making things move A key aspect of computer graphics Tim Weyrich March 2010 Non-realtime for films Realtime for virtual worlds and games Heavily based on slides by Marco


  1. Computer Animation Computer Animation • � “Making things move” • � A key aspect of computer graphics Tim Weyrich March 2010 • � Non-realtime for films • � Realtime for virtual worlds and games Heavily based on slides by Marco Gillies Computer Animation: Bools Computer Animation • � 2 books: • � This course will: • � “Real-time 3D Character Animation” Nik • � Outline the major techniques used in Lever – Focal Press animation – � Very good, but only handles characters • � Discuss general animation, character animation and physical simulation • � “Advanced Animation and Rendering Techniques: Theory and Practice” Alan • � Go into detail on a few key methods Watt and Mark Watt – Addison-Wesley – � More general but sometimes hard to follow • � Everything you need is in the slides Computer Animation Computer animation • � 2 basic classes of computer animation: • � Keyframe animation relies on data – � from animators or actors • � Keyframe animation • � Simulation or procedural animation – � Data driven takes a more algorithmic approach – � Hand animation or performance driven – � Animation is directly generated by an • � Simulation algorithm or calculation – � Procedural/algorithm driven – � Particle systems, physics, artificial life

  2. Course Outline Traditional Animation • � Traditional animation • � Keyframe animation • � Character animation – � Body – � Face – � Behaviour simulation • � Physical systems – � Physics simulation – � Particle systems – � Integration techniques Flip Books The Time Line • � The most basic form • � Animation is a sequence of frames (images) of animation is the arranged along a time-line flip book • � Presents a sequence of images in quick succession • � In film this becomes a sequence of Time frames Lasseter ‘87 Frames Layers • � Each frame is an image • � Have a background images that don’t move • � Put foreground images on a transparent slide • � Traditionally each image had to be hand in front of it drawn individually • � Only have to animate bits that move • � This potentially requires vast amounts • � Next time you watch an animation notice that of work from a highly skilled animator the background is always more detailed than the characters • � Japanese animation often uses camera pans across static images

  3. Keyframing Other Techniques • � The head animator draws the most important • � Squash and stretch frames (Keyframes) • � Slow in slow out • � An assistant draws the in-between frames (inbetweening) Lasseter ‘87 Lasseter ‘87 Other Techniques Other Techniques • � Squash and stretch • � Slow in slow out – � Change the shape of an object to emphasise its – � Control the speed of an animation to make it seem motion smoother – � In particular stretch then squash when changing – � Start slow, speed up in the middle and slow to a direction stop Lasseter ‘87 Lasseter ‘87 Keyframe animation • � Computer animation basics • � Computer based keyframing Keyframe animation • � Interpolations methods • � Rotations and quaternions

  4. Keyframe Animation Layering • � The starting point for computer • � The essence of layering is that objects animation is the automation of many of that move independently are animated the techniques of traditional animation independently, and only what is actually • � The labour savings can be greatly moving is animation increased • � This saving can be greatly increased • � The following techniques are described with computer animation for the 3-D case; 2-D is often even simpler Properties of Objects Properties of Objects • � In computer animation objects are now • � These properties are mostly numerical 3-D models rather than images values • � Selected properties of these objects are – � E.g. vectors for positions of objects, colour animated rather than redefining the values, vertex positions for meshes whole object in each frame • � Thus animation comes down to – � e.g. position, rotation, normal map, … manipulating these values • � Only changing properties need – � directly, via GUI, or algorithmically animation – � e.g. you can rotate an object without having to do anything to the texture Keyframing Keyframing • � Keyframing is readily applicable to computer animations • � Keyframes are now settings for value at a given time (a tuple) < time , value > • � The computer can do the inbetweening • � (For now I’ll just talk about animating position)

  5. Linear Interpolation Linear Interpolation Linear Interpolation Linear Interpolation • � The position is interpolated linearly between • � The position is interpolated linearly between keyframes keyframes Linear Interpolation Spline Interpolation • � The position is interpolated linearly between • � Use smooth curves to interpolate keyframes positions • � Use curves similar to Bezier • � The animation can be jerky • � Need some equivalent of slow-in slow-out

  6. Spline Interpolation Spline Interpolation Bezier Curves Hermite Curves • � Rather than specifying 4 control points specify • � Smooth but don’t go through all the control 2 end points and tangents at these end points points, we need to go through all the • � In the case of interpolating positions the keyframes tangents are velocities Hermite Curves Tangents • � The maths is pretty much the same as Bezier • � That’s fine, but where do we get the Curves tangents (velocities) from? • � Bezier: • � We could directly set them, they act as an extra control on the behaviour • � Mapping to Hermite: • � However often we want to generate them automatically • � Hermite:

  7. Tangents Tangents • � Base the tangent as a keyframe on the • � Average the distance from the pervious previous and next keyframe keyframe and to the next one Tangents Almost perfect… • � Average the distance from the previous • � That’s pretty much it on keyframe keyframe and to the next one animation • � But there’s one last problem: • � If you set the tangents at the first and last frame to zero you get slow in slow out Almost perfect… Almost perfect… • � That’s pretty much it on keyframe • � That’s pretty much it on keyframe animation animation • � But there’s one last problem: Rotations • � But there’s one last problem: Rotations • � Rotations are used a lot on animation • � In fact human body animation is largely based on animating rotations rather than positions

  8. Rotations Rotations • � Rotations are very different from • � Rotations are very different from positions positions • � They are essentially spherical rather • � They are essentially spherical rather than linear than linear • � You can split them into rotations about the X,Y & Z axis (Euler angles), but: Rotations Order of Rotations • � Rotating about XYZ • � Rotations are very different from positions • � They are essentially spherical rather than linear • � You can split them into rotations about the X,Y & Z axis (Euler angles), but: – � Then the order in which you do them changes in final rotation Order of Rotations Order of Rotations • � Rotate about X • � Rotate about Y

  9. Order of Rotations Order of Rotations • � Rotate about Z • � Start again Order of Rotations Order of Rotations • � Rotate about Y • � Rotate about X Order of Rotations Rotations • � Rotate about Z • � Rotations are very different from positions • � They are essentially spherical rather than linear • � You can split them into rotations about the X,Y & Z axis (Euler angles), but: – � If you rotate about Y so that the Z axis is rotated onto the X axis you get stuck (Gimbal lock) and are in trouble

  10. Quaternions Quaternions • � Quaternions are a 4D generalisation of • � We need a representation of rotations complex numbers: that doesn’t suffer these problems • � We use Quaternions • � Invented by William Rowan Hamilton in 1843 • � Introduced into computer animation by Ken Shoemake – � K. Shoemake, “Animating rotations with quaternion curves”, ACM SIGGRAPH 1985 pp245-254 Quaternions Quaternions • � Quaternions are a 4D generalisation of • � The conjugate of a quaternion is defined as: complex numbers: • � The last three terms are the imaginary part • � And multiplication is defined as: and are often written as a vector: Quaternion Rotations Quaternion Rotations • � A rotation of angle � about an axis V is • � A vector ( V ) is rotated by first converting it to a represented as a quaterion with: quaternion: • � Premultiplying by the rotation and postmultiplying by its inverse • � All rotations are represented by unit quaternions (length 1) • � And transforming back to a vector

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend