1cs426-winter-2008 Notes  Please read: C. Reynolds “Flocks, Herds, and Schools…” SIGGRAPH ‘87

Slides:



Advertisements
Similar presentations
7.2. AI E NGINE AND S TEERING B EHAVIOUR I Design of an AI Engine and introduction to steering in game AI.
Advertisements

Newton’s 3 rd Law and Law of Gravitation Honors Physics.
Evolving Flocking Simulation and Robotics Dan Sayers iotic.com.
Biologically Inspired Computation Some of the images in this lecture come from slides for a Course in Swarm Intelligence given at : Introducing Swarm Intelligence.
Flocks, Herds and Schools Modeling and Analytic Approaches.
Better Group Behaviors in Complex Environments using Global Roadmaps O. Burchan Bayazit, Jyh-Ming Lien and Nancy M. Amato Presented by Mohammad Irfan Rafiq.
Flocks, Herds, and Schools: A Distributed Behavioral Model By: Craig Reynolds Presented by: Stephanie Grosvenor.
1 CO Games Development 2 Week 22 Flocking Gareth Bellaby.
OBJECT-ORIENTED THINKING CHAPTER Topics  The Object-Oriented Metaphor  Object-Oriented Flocks of Birds –Boids by Craig W. Reynolds  Modularity.
Behavioral Animation Procedural Animation Type?. Behavioral Animation Introduced by C. Reynolds (1987) Animating many things at one time –A group of the.
Rick Parent - CIS682 Flocking Geometric objects Many objects Simple motion - e.g., local rules, more physics, collision avoidance Consider other members.
Crowd simulation Taku Komura. Animating Crowds We have been going through methods to simulate individual characters We have been going through methods.
University of Texas at Austin CS 378 – Game Technology Don Fussell CS 378: Computer Game Technology Dynamic Path Planning, Flocking Spring 2012.
Week 14 - Monday.  What did we talk about last time?  Bounding volume/bounding volume intersections.
1Notes. 2 Building implicit surfaces  Simplest examples: a plane, a sphere  Can do unions and intersections with min and max  This works great for.
1Notes  Assignment 2 is out  Flocking references  Reynolds, “Flocks, Herds, and Schools…”, SIGGRAPH’87  Tu and Terzopoulos, “Artificial Fishes…”, SIGGRAPH’94.
1Notes  Handing assignment 0 back (at the front of the room)  Read the newsgroup!  Planning to put 16mm films on the web soon (possibly tomorrow)
1Notes. 2 Triangle intersection  Many, many ways to do this  Most robust (and one of the fastest) is to do it based on determinants  For vectors a,b,c.
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”
1Notes  Text:  Motion Blur A.3  Particle systems 4.5 (and 4.4.1, 6.6.2…)  Implicit Surfaces  Classic particle system papers  W. Reeves, “Particle.
1Notes  Reference  Witkin and Baraff, “Physically Based Modelling” course, SIGGRAPH 2001  Link on the course website.
John S Gero Agents – Agent Simulations AGENT-BASED SIMULATIONS.
1cs426-winter-2008 Notes  If you’re interested, read Bridson, Hourihan, Nordenstam, “Curl noise for procedural fluid flow”, SIGGRAPH ‘07.
Better Group Behaviors in Complex Environments using Global Roadmaps O. Burchan Bayazit, Jyh-Ming Lien and Nancy M. Amato Andreas Edlund.
Flocking and Group Behavior Luv Kohli COMP259 March 24, 2003.
UNC Chapel Hill S. Redon - M. C. Lin Rigid body dynamics II Solving the dynamics problems.
1cs426-winter-2008 Notes  Course project: Will be due at the end of the term You can do it in pairs Create an animation that combines an algorithm for.
1/18/ L IAP 2007  Last Lecture  Pendulums and Kinetic Energy of rotation  Today  Energy and Momentum of rotation  Important Concepts  Equations.
Crowd Simulation Seminar ”Steering Behaviors For Autonomous Characters” By Craig W. Reynolds Rudi Bonfiglioli ( )
1cs426-winter-2008 Notes  Sorry about missed classes  Assignment 2: matchmove and particles  Final project.
1cs533d-winter-2005 Notes  Assignment 2 instability - don’t worry about it right now  Please read D. Baraff, “Fast contact force computation for nonpenetrating.
1cs426-winter-2008 Notes. 2 Velocity fields  Velocity field could be a combination of pre-designed velocity elements E.g. explosions, vortices, …  Or.
1cs426-winter-2008 Notes  Assignment 1 is out, due immediately after reading week (Feb 25)  Please read: William T. Reeves, "Particle systems: a technique.
Impulse and Momentum Chapter 7.
Computer Animation Rick Parent Computer Animation Algorithms and Techniques Physically Based Animation.
1 Three dimensional mosaics with variable- sized tiles Visual Comput 2008 報告者 : 丁琨桓.
1 Constant Following Distance Simulations CS547 Final Project December 6, 1999 Jeremy Elson.
1 Animation & Java3D ©Anthony Steed Overview n Introduction to Animation Kinematics Dynamics Boids n Java3D Scene graph Animation Vehicles.
Flow Fields Hao Li and Howard Hamilton. Motivation for Flow Fields Multiple AI algorithms in a computer game can produce conflicting results. The AI must.
Art 315 Lecture 6 Dr. J. Parker. Variables Variables are one of a few key concepts in programming that must be understood. Many engineering/cs students.
Computer Graphics 2 In the name of God. Outline Introduction Animation The most important senior groups Animation techniques Summary Walking, running,…examples.
Chapter 7 Linear Momentum. MFMcGraw-PHY 1401Chap07b- Linear Momentum: Revised 6/28/ Linear Momentum Definition of Momentum Impulse Conservation.
CLASS 10 SCENE GRAPHS BASIC ANIMATION CS770/870. A scene Graph A data structure to hold components of a scene Usually a Tree of a Directed Acyclic Graph.
Advanced Computer Graphics Rigid Body Simulation Spring 2002 Professor Brogan.
Graphics Graphics Korea University cgvr.korea.ac.kr 1 Computer Animation 고려대학교 컴퓨터 그래픽스 연구실.
Controlling the Behavior of Swarm Systems Zachary Kurtz CMSC 601, 5/4/
Computer Animation Rick Parent Computer Animation Algorithms and Techniques Behavioral Animation: Knowing the environment Flocking.
Chenney/Forsyth Paper Chenney & Forsyth, 2000 AI CS 416.
1cs426-winter-2008 Notes  Will add references to splines on web page.
1 Ch 11 Forces 11.1 Forces Change Motion. 2 A force is a push or pull –Some require contact between objects, such as friction –Some act at a distance,
Particle Swarm Optimization † Spencer Vogel † This presentation contains cheesy graphics and animations and they will be awesome.
REFERENCES: FLOCKING.
Biologically Inspired Computation Some of the images in this lecture come from slides for a Course in Swarm Intelligence given at : Lecture 5: Introducing.
More on Particles Glenn G. Chappell U. of Alaska Fairbanks CS 481/681 Lecture Notes Wednesday, March 24, 2004.
Group Behaviors. Seminal flocking papers Craig Reynolds Flocks, Herds, and Schools: A Distributed Behavioral Model – SIGGRAPH 1987Flocks, Herds, and Schools:
Animation Animation is about bringing things to life Technically: –Generate a sequence of images that, when played one after the other, make things move.
Balanced & Unbalanced Forces ► More Force = more Acceleration ► More Mass = more Force needed! Newton’s Second Law of Motion says: “To move a mass, you.
11/13/03CS679 - Fall Copyright Univ. of Wisconsin Last Time A* Improvements Hierarchical planning Pre-Planning.
Advanced Computer Graphics Rigid Body Simulation
Crowds (and research in computer animation and games)
Computer Animation Algorithms and Techniques
Computer Animation cgvr.korea.ac.kr.
Flocking Geometric objects Many objects
Balanced & Unbalanced Forces
Crowds (and research in computer animation and games)
CIS 488/588 Bruce R. Maxim UM-Dearborn
UMBC Graphics for Games
Synthesis of Motion from Simple Animations
Presentation transcript:

1cs426-winter-2008 Notes  Please read: C. Reynolds “Flocks, Herds, and Schools…” SIGGRAPH ‘  No office hours this Thursday

2cs426-winter-2008 Yet more collisions  Two further additions to our model: Elastic collisions (bounce, don’t stick) - given a coefficient of restitution Friction - given a coefficient of Coulomb friction  Also note: cloth collisions (or anything else with “span”, i.e. not just points) may need more: Edge-edge collisions, point-triangle collisions

3cs426-winter-2008 Flocking Behaviour  Animating large groups of organisms is painful to do by scripting each member Think flocks of birds, schools of fish, crowds of people, armies, … Not just the complexity of each one’s motion, but making sure they all are consistent with each other  Instead use a particle system approach Each particle represents one member of the flock (“boid”) Rules of motion are somewhat more complex Ultimately best to replace “particle” by “agent”, and look at multi- agent systems (AI/Robotics)

4cs426-winter-2008 State  Need position x, velocity v But we might ignore true notion of mass and forces (like gravity) for convenience  For enhanced realism, accurately model physical forces, but this makes it much harder to make the boids do what you want  See Tu and Terzopoulos, “Artificial Fishes…”, SIGGRAPH’94  Also an orientation For now, think of 3 Euler angles (e.g. pitch, heading, roll) We will soon get more sophisticated  Perhaps joint angles or more To describe the external traits

5cs426-winter-2008 Internal State  Also want the state of the agent’s mind Might be empty - purely reactive creatures  Reynolds’ paper Simple quantities e.g. hunger  Tu & Terzopoulos No limit on complexity  “Massive” - WETA’s system for battles in Lord of the Rings etc.

6cs426-winter-2008 Perception  One of the critical additions to the base particle system is perception  Agents get a local view of the world, depending on their position and orientation (and…)  Maybe abstracted to nearest neighbours’ states plus collision geometry ahead You probably don’t want to do full renderings for each agent, then solve the computer vision problem  Can also put animator controls in - e.g. agents know where goal position is

7cs426-winter-2008 Behavioural Rules  These could be anything from AI  Let’s look at simpler examples, from Reynolds first paper Each rule produces a desired acceleration from the current state+perception Collision Avoidance: steer away from others you are about to collide with Velocity Matching: try to match velocity vector of nearby members Flock Centering: move to middle (centroid) of nearby members Collision Avoidance 2: steer away from collision geometry in scene (see it far ahead) Migratory Urge: animator control

8cs426-winter-2008 Motion Rules  Need to somehow combine acceleration requests from subsystems into a coherent control Averaging doesn’t work well Assigning priorities Perhaps with a memory to avoid dithering  Apply limits to final acceleration decision (e.g. a maximum, or true physics…)  Integrate into velocity etc. maybe with limits here too (max velocity etc.)  Secondary motion may be important E.g. banking into a turn

9cs426-winter-2008 More Details  Let’s look at behavioural rules in more detail  Collision Avoidance - if another object dead ahead and too close, turn in some direction A last ditch, very high priority, emergence procedure  Velocity Matching Accelerate current velocity towards average of neighbours’ velocities, weighted by proximity  Inverse power laws (square, cube, …) or the usual kernel functions… Usual mode of avoiding running into others - if you move with the flow, you won’t collide - thus should be relatively high priority

10cs426-winter-2008 More Details…  Flock Centering Accelerate so position ends up at average of neighbours’ positions, weighted by proximity Just like velocity matching, but for position Keeps flock together, but only locally (flock may still separate) Lower priority  Avoiding scene geometry Simple method: put repulsion forces around objects  Can get weird effects for dead-on collisions Better: do ray intersection (current position + heading) with scene to find dangerous object. Find shortest direction to silhouette for avoidance.

11cs426-winter-2008 Control  The main problem with any system that automates lots for the animator To make them do something, either intense amount of parameter tweaking and luck, or use manual override (which may violate other aspects of behaviour, requiring more overrides…)  Can add additional acceleration requests from animation script (“migratory urges”, goal directions or positions)  Follow-the-leader approach - script one, let the others try to follow  Add virtual geometry to guide agents

12cs426-winter-2008 Optimized Control  Common approach to many controlled motion problems: phrase it as an optimization problem Find solution which satisfies control constraints (e.g. center of flock at position x at time t) with least violation of behavioural rules Or find solution which satisfies behavioural constraints and comes closest to user’s objective (note: need some variability, at least in initial conditions, probably also in “random” behaviour)  Example reference: Anderson, McDaniel, and Chenney, “Constrained Animation of Flocks”, Symposium on Computer Animation 2003  However, it’s not clear this has yet made an impact in real-world graphics usage: large-scale optimization is hard (both setting up a good problem and solving it)