Animator Help Session Nov 24th, 2004 11:30am.

Slides:



Advertisements
Similar presentations
Animation Following “Advanced Animation and Rendering Techniques” (chapter 15+16) By Agata Przybyszewska.
Advertisements

1Notes  Assignment 0 is being marked  Textbook reference for arc-length parameterization:  Section 3.2.
1Notes  Textbook: matchmove 6.7.2, B.9. 2 Match Move  For combining CG effects with real footage, need to match synthetic camera to real camera: “matchmove”
1cs426-winter-2008 Notes  If you’re interested, read Bridson, Hourihan, Nordenstam, “Curl noise for procedural fluid flow”, SIGGRAPH ‘07.
Game Physics Chris Miles. The Goal To learn how to create game objects with realistic physics models To learn how to simulate aspects of reality in order.
1cs426-winter-2008 Notes. 2 Velocity fields  Velocity field could be a combination of pre-designed velocity elements E.g. explosions, vortices, …  Or.
Animator Project CSE 557. In this project… Create your own hierarchical model Create keyframe animations Create smooth keyframe animations Create particle.
CS 450: COMPUTER GRAPHICS QUATERNIONS SPRING 2015 DR. MICHAEL J. REALE.
Erin Catto Blizzard Entertainment Numerical Integration.
CSC418 Computer Graphics n Animation Principles n Keyframe Animation.
Week 5 - Wednesday.  What did we talk about last time?  Project 2  Normal transforms  Euler angles  Quaternions.
Computer Graphics 2 In the name of God. Outline Introduction Animation The most important senior groups Animation techniques Summary Walking, running,…examples.
SKM 4200 Computer Animation Chapter 4: Animation (3D Computer Animation – Part 2)
Animator Help Session. Agenda Introduction Curve implementation - Requirements - What are all those vectors? - Where should I put things? Particle System.
Computer Science Term 1, 2006 Tutorial 3 Assignment 4 – Special Effects.
Evolving Virtual Creatures & Evolving 3D Morphology and Behavior by Competition Papers by Karl Sims Presented by Sarah Waziruddin.
Kinematics Jehee Lee Seoul National University. Kinematics How to animate skeletons (articulated figures) Kinematics is the study of motion without regard.
Project 1: Animation System Assigned: 01/17/06 Due: 01/31/06.
Character Setup In addition to rigging for character models, rigging artists are also responsible for setting up animation controls for anything that is.
Graphics Graphics Korea University cgvr.korea.ac.kr 1 Computer Animation 고려대학교 컴퓨터 그래픽스 연구실.
ME451 Kinematics and Dynamics of Machine Systems Review of Differential Calculus 2.5, 2.6 September 11, 2013 Radu Serban University of Wisconsin-Madison.
Games Development Game Architecture: Entities CO2301 Games Development 1 Week 22.
Animator Help Session. Surface of Revolution You will write OpenGL code to draw a surface by rotating a curve. Each vertex must have an appropriate: 
CS 450: COMPUTER GRAPHICS ANIMATION SPRING 2015 DR. MICHAEL J. REALE.
CHAPTER 14 Classes, Objects, and Games XNA Game Studio 4.0.
Agenda Introduction Curve implementation - Requirements - What are all those vectors? - Where should I put things? Particle System - Requirements - What.
Animator Help Session November 20 th, 2002,. Agenda Introduction Curve implementation - What are all those vectors? - Where should I put things? Particle.
Animation Animation is about bringing things to life Technically: –Generate a sequence of images that, when played one after the other, make things move.
Kinetics Senior Chemistry. Particle Collisions For a reaction to proceed to products, the reactants must collide with one another. Rate of reaction The.
3D Animation 3. Animation Dr. Ashraf Y. Maghari Information Technology Islamic University of Gaza Ref. Book: The Art of Maya.
Introduction to 3-D Viewing Glenn G. Chappell U. of Alaska Fairbanks CS 381 Lecture Notes Monday, October 27, 2003.
Computer Graphics.
Transformations 5 University of British Columbia
CSCE 441 Computer Graphics: Keyframe Animation/Smooth Curves
Computer Animation cgvr.korea.ac.kr.
CS 445 / 645 Introduction to Computer Graphics
CSC 221: Computer Programming I Spring 2010
Week 2, Day 1: The Factory Method Pattern
Parts of a Lab Write-up.
CSC 221: Computer Programming I Fall 2005
Addressing Pushback from Patients
Animator Help Session.
Assigned: Thursday, May 13th
Introduction to Events
Foundations of Visualization 10/25/2005 Notes
Learning Java with Alice 3.0 Game Design Kathy Bierscheid
Problem Solving: Brute Force Approaches
Lesson 2: Building Blocks of Programming
© University of Wisconsin, CS559 Spring 2004
OOP Paradigms There are four main aspects of Object-Orientated Programming Inheritance Polymorphism Abstraction Encapsulation We’ve seen Encapsulation.
Light Energy NATURE Sunday Academy.
Lesson 16: Functions with Return Values
CSCI1600: Embedded and Real Time Software
Particle systems Good animation principles Creating your artifact
Parametric Equations & Plane Curves
Arrays
UMBC Graphics for Games
CSCE 441: Keyframe Animation/Smooth Curves (Cont.)
The Scientific Method.
Agenda Introduction Curve implementation - Requirements
Animator Help Session May 18th, :00 May 19th, :00.
Computer Graphics Lecture 15.
Assigned: Thursday, May 12th Due: Wednesday, May 25th
5 INTEGRALS.
Introduction to Parametric Curve and Surface Modeling
CO Games Concepts Week 22 Particle systems
Games Development Game Architecture: Entities
Animator Help Session May 21st, :30 May 22nd, :30.
Put the Lesson Title Here
Modern Collections Classes & Generics
Presentation transcript:

Animator Help Session Nov 24th, 2004 11:30am

Agenda Introduction Curve implementation - Requirements - What are all those vectors? - Where should I put things? Particle System - What should I implement? - Suggestions - Cool forces

Agenda Extra credit ideas Good artifacts from the past Animating well vs. well… just animating Timing! Music Light Lasseter’s animation principles Creating your artifact Selecting a curve type Compositing

Introduction How to integrate with my model? just add replace robotarm.cpp with your model better to do this sooner than later Modeler View vs. Curves View Graph Widget Interface

Spline Curves Requirements Bezier curve can linearly interpolate in cases where there are not enough control points ( < 4 or for the last couple in your set ) B-spline Catmull-Rom curve must be a function! sample solution is not perfectly correct; you must do at least as well as sample, but if you can do better, you may get extra credit

Curve Implementation What are all those vectors? In any specific curveEvaluator class ptvCtrlPts: a collection of control points that you specify in the curve editor ptvEvaluatedCurvePts: a collection of evaluated curve points that you return from the function calculated using the curve type’s formulas fAniLength: maximum time that a curve is defined bWrap: a flag indicating whether or not the curve should be wrapped

Curve Implementation Where should I put things? Create curve evaluator classes for each that inherit from CurveEvaluator Bezier B-spline Catmull-Rom In GraphWidget class Change the skeleton to call your new constructors in the GraphWidget class.

Particle System Requirements Particle System class Should have access to all particles and a marching variable (time) for simulation If you have two separate simulations (say, cloth sim and particles that respond to viscous drag) you may want to make that distinction here (as well as in your force and particle implementation Solver In the skeleton, this actually exists within the Particle System class Particles

Particle System Requirements Two distinct forces Distinct may mean forces whose values are calculated with different equations (gravity and drag are distinct because gravity eq is of form f=ma, where drag is defined in terms of a drag coefficient and velocity) Alternatively (and better): distinct may mean that one force is a unary force and another is a n-ary force or spacially driven force Collision detection With one primitive of your choice Restitution coefficient must be slider controlled

Particle System What should I implement? Particle struct or class you may have several of these if you have multiple types of simulations If this is the case, take advantage of inheritance Force class An elegant implementation would include a generic Force class and a variety of distinct forces that inherit from it *Note: I stress inheritance because it will make your implementation easier (and less messy) and in general will make your life easier. If the TA that grades your project must look at your code, clean object oriented code is a great headache-prevention-tool.

Particle System Embedding in your heirarchy World coordinate of particles?? - Model View Matrix (pseudo-code) - Inverse Camera Transformation - Generate global coordinate for (0,0) in the model view coordinates. Euler Method Hooking up your particle System

Particle System Cool Forces Particles attached to your model Your model’s parameters can then respond to your particle system’s physics Warning: this is hard (but cool) so if you are interested in it, ask a TA Particles in a lattice Cloth simulation Deformable objects

Particle System Cool Forces Flocking Will require multiple forces: Attractive force that affects far away particles Repulsive force that affects nearby particles May also benefit from other forces more specific to your simulation (e.g. Blue Angels? fish? crowd of civilians running from Mothra?)

Extra Credit ideas Billboarding Baking Frankly, basic particle systems look like !#&@ Adding support for sprites (billboarding) can DRASTICALLY increase the aesthetic quality of your simulation Additional benefit: very easy to ‘skin’ particles and make multiple instance of same particle look unique Baking A must for complicated simulations or for particle systems with a lot of particles

Extra Credit ideas Better collision detection Better forces Lens flare Most animator artifacts suffer from lack of realistic looking lighting Ideally, this problem would be solved with ray tracing or photon mapping Since these are probably not options, lens flare is an alternative way to give the impression of interesting lighting

Animating well vs. well… just animating Timing! Timing is VERY, VERY important Consider timing before you bother to get specific about joint rotations or object positions

Animating well vs. well… just animating Good timing vs. Bad timing

Animating well Music! Good sound vs. Bad sound Sound and music can greatly enhance the cohesion of your artifact If your artifact idea includes a theme or stylization, it can be very effective to time your animation with events in the theme music. Good sound vs. Bad sound

Animating well Light! Good light vs. No light Like sound, light is VERY VERY important compositionally Anything you can do to be creative with lighting will help Good light vs. No light

Animating well Camera! Good Camera Camera Movement is great for the suspension of disbelief Good Camera

Particle System Creating Your Artifact Choice of curve types I recommend Bezier curves. Why? Recall the animation of a bouncing ball When the ball hits the ground, the curve describing its position should have a C1 discontinuity Without C1 discontinuity here, the animation will look wrong Catmull-Rom is usually the preferred curve choice… but unless your project supports the option to add C1 discontinuity at will, you will find yourself trying to fight the Catmull-Rom to create pauses and other timing goodies

Particle System Creating Your Artifact Compositing I highly recommend that you break your intended artifact up into shots (usually delineated by changes in camera angle) This will make your life easier for many reasons: Splitting up work is straightforward Changing camera angles is GOOD for a composition You can incrementally complete your artifact For this purpose, the lab has Adobe Premiere I will give a short demo on using Premiere sometime in the next few weeks

Any Questions? Young-Mi yshin@cs.washington.edu Jennifer maurerj@cs.washington.edu David davedoan@cs.washington.edu Matthew mmilcic@cs.washington.edu