380 likes | 518 Views
Advanced Computer Animation. Group Behaviors. Group Behaviors : Motivation. Many animations require natural-looking behavior from a large number of characters Flock of birds School of fish Crowd of people. What is a flock?.
E N D
Group Behaviors : Motivation • Many animations require natural-looking behavior from a large number of characters • Flock of birds • School of fish • Crowd of people
What is a flock? • One definition: a group of birds or mammals assembled or herded together • “A flock is simply the result of the interaction between the behaviors of individual birds.”
Why model flocking? • It looks cool • Difficult to animate using traditional keyframing or other techniques • Hard to script the path • Hard to handle motion constraints • Hard to edit motion
Boids! • “boids” comes from “bird-oids” • Similar to particle systems, but have orientation • Have a geometric shape used for rendering • Behavior-based motion
Boid motion • Boids have a local coordinate system • The boid itself can move only in one direction (“forward” along its local positive z-axis) • The boid steers by rotating about its local x and y axes • The boid’s local coordinate system can move and rotate freely within world coordinates
Modeling flocking behavior • Modeling flocking behavior • Three basic rules, each of which generates an acceleration request 1. Collision Avoidance Avoid running into other boids or static obstacles 2. Velocity Matching Match velocity with nearby flockmates 3. Flock Centering Stay close to nearby flockmates
Flocking – 3 Behaviors (1) • Collision avoidance: avoid collisions with nearby flockmates
Flocking – 3 Behaviors (2) • Velocity matching: attempt to match velocity with nearby flockmates
Flocking – 3 Behaviors (3) • Flock centering: attempt to stay close to nearby flockmates
Flocking Neighborhood • Neighborhood • defining the region in which flockmates influence a boids steering • characterized by a distance and an angle • Distance: measured from the center of the boid • Angle: measured from the boid's direction of flight. • Flockmates outside this local neighborhood are ignored.
Avoiding obstacles (1) • Force field approach • Obstacles have a field of repulsion (반발력) • Boids increasingly repulsed as they approach obstacle • Drawbacks: • Approaching a force in exactly the opposite direction • Flying alongside a wall
Avoiding obstacles (2) • Steer-to-avoid approach • Boid only considers obstacles directly in front of it • Finds silhouette edge of obstacle closest to point of eventual impact • A vector is computed that will aim the boid at a point one body length beyond the silhouette edge
simulated boid flock avoiding cylindrical obstacles (1986) Avoiding Environmental Obstacles • Demo
Steering Behaviors • Simple behaviors for individuals and pairs: • Seek and Flee • Pursue and Evade • Wander • Arrival • Obstacle Avoidance • Containment • Wall Following • Path Following • Flow Field Following • Combined behaviors and groups: • Crowd Path Following • Leader Following • Unaligned Collision Avoidance • Queuing (at a doorway) • Flocking (combining: separation, alignment, cohesion)
Reference (Behavior Animation) • http://www.red3d.com/cwr/boids/
Fluid Simulation • Heightfield Fluids • A very simple program • Physics background • Object interaction • Particle Based Fluids • Simple particle systems • Smoothed Particle Hydrodynamics (SPH)
Offline Fluid Simulation • State of the art is impressive! • Typical grid size 2563 cells • Linear system with 16 million unknowns! • Raytracing (reflection / refraction / caustics) • Photorealistic results • 10 seconds – 50 minutes per frame!
Reducing Computation Time • Reduce resolution • Simple (use same algorithms) • Results look blobby and coarse, details disappear • Invent new methods • Reduce dimension (e.g. from 3d to 2d) • Use different resolutions for physics and appearance • Simulate only in interesting, active regions (sleeping) • Camera dependent level of detail (LOD) • Non-physical animations for specific effects
Solutions • Procedural Water • Unbounded surfaces, oceans • Heightfield Fluids • Ponds, lakes • Particle Systems • Splashing, spray, puddles, smoke
Procedural Animation • Simulate the effect, not the cause • [Bridson07], [Yuksel07], [Fournier86], [Hinsinger02] • No limits to creativity • E.g. superimpose sine waves • Difficult but not impossible • Fluid – scene interaction
Heightfield Fluids • Represent fluid surface as a 2D function u(x,y) • Pro: Reduction from 3D to 2D • Cons: One value per (x,y) → no breaking waves
Water Rendering • Reflection • Refraction • Caustics: Cheating - Animated texture a caustic is the envelope of light raysreflected or refracted by a curved surface or object
Particle Based Fluids • Particle systems are simple and fast • Without particle-particle interaction • Spray, splashing • With particle-particle interaction • Small puddles, blood, runnels • Small water accumulations
Simple Particle Systems • Particles store • mass, position, velocity, external forces, lifetimes • Integrate • Generated by emitters, deleted when lifetime is exceeded
Particle-Particle Interaction • Particle-Particle Interaction • No interaction → decoupled system → fast • For n particles O(n2) potential interactions! • To reduce to linear complexity O(n) define interaction cutoff distance h
Smoothed Particle Hydrodynamics (SPH) • Smoothed Particle Hydrodynamics • Invented for the simulation of stars [Monaghan92] • Often used for real-time fluids in CG [Müller03] • Dividing the fluid into a set of discrete "fluid elements". • Use scalar kernel function W(r) • Wi(x) = W(|x-xi|)
Fluid Simulation Demo • www.cs.ubc.ca/~rbridson/fluidsimulation/
Reference (Fluid Simulation) • [Becker07] M. Becker and M. Teschner, Weakly compressible SPH for free surface flows, SCA 07 • [Bridson07] R. Bridson et al., Curl noise for procedural fluid flow, Siggraph 07 • [Fournier86] A. Fournier and W. T. Reeves. A simple model of ocean waves, SIGGRAPH 86, pages 75–84 • [Hinsinger02] D. Hinsinger et al., Interactive Animation of Ocean Waves, In Proceedings of SCA 02 • [Jeffrey02] A. Jeffrey, Applied Partial Differential Equations, Academic Press, ISBN 0-12-382252-1 • [Monaghan92] J. J. Monaghan, Smoothed particle hydrodynamics. Annual Review of Astronomy and Astrophysics, 30:543–574, 1992. • [Müller07] M. Müller et al., Screen Space Meshes, SCA 07. • [Müller03] M. Müller et al., Particle-Based Fluid Simulation for Interactive Applications, SCA 03, pages 154-159. • [O’Brien95] J. O’Brien and J. Hodgins, Dynamic simulation of splashing fluids, In Computer Animation 95, pages 198–205 • [Premoze03] S. Premoze et al., Particle based simulation of fluids, Eurographics 03, pages 401-410 • [Teschner03] M. Teschner et al., Optimized Spatial Hashing for Collision Detection of Deformable Objects, VMV 03 • [Thuerey07] N. Thuerey et al., Real-time Breaking Waves for Shallow Water Simulations Pacfific Graphics 07 • [Yuksel07] Cem Yuksel et al., Wave Particles, Siggraph 07
Motivation • Hair animation used in movies, games, virtual reality, etc. • Important for representing virtual humans • Problem due to complexity • Human head has over 100,000 strands of hair • Computation time for simulation and rendering is costly
Overview • Hair Modeling [Magnenat-Thalmann, et al. 2000] • Hair Rendering • Hair color, shadows, lighting, transparency, and anti-aliasing • Hair Shape Modeling (hairstyle) • Geometry of the hair – Shape specification • Density, distribution, and orientation of hair • Hair Simulation • Dynamic Simulation • Collision Detection
Hair Modeling • Factors to consider • Speed vs. Appearance • Short vs. Long • Wavy vs. Straight Video Game: Lara Croft - Tomb Raider: Angel of Darkness Movie: Final Fantasy • Choose hair model based on desired outcome
Hair Simulation • Physics of dynamic simulation • Control motion • Different styles • Geometric representation of hair • Individual strands • Wisps • Strips • Collision detection and response • Hair-Object Interactions • Hair-Hair Interactions (a) hair strip, (b) hair cluster, (c) hair strand
Hair Simulation Demo • http://www.cs.unc.edu/~geom/HSLOD/
References (Hair Simulation) • K. Anjyo, Y. Usami, and T. Kurihara. A simple method for extracting the natural beauty of hair. Computer Graphics, 26(2):111-120, 1992. • T. Kurihara, K. Anjyo, and D. Thalmann. Hair animation with collision detection. In Models and Techniques in Computer Animation, pages 128-38. Springer-Verlag, 1993. • C. K. Koh and Z. Huang. A simple physics model to animate human hair modeled in 2d strips in real time. Proc. of Eurographics Workshop on Animation and Simulation, 2001. • E. Plante, M. Cani, and P. Poulin. A layered wisp model for simulating interactions inside long hair. Proc. of Eurographics Workshop on Animation and Simulation, 2001. • K. Ward, M. C. Lin, J. Lee, S. Fisher, and D. Macri. Modeling hair using level of detail representations. Proc. of Computer Animation and Social Agents, 2003. • K. Ward and M. C. Lin. Adaptive grouping and subdivision for simulating hair dynamics. Proc. of Pacific Graphics, 2003.