Physical Based Animation/Simulation. Particle Systems Particle systems offer a solution to modeling amorphous, dynamic and fluid objects like clouds,

Slides:



Advertisements
Similar presentations
Flocking and more.  NPC groups can move in cohesive groups not just independently ◦ Meadow of sheep grazing? ◦ Hunting flock of birds? ◦ Ants? Bees?
Advertisements

Motivation Hair animation used in movies, games, virtual reality, etc. Problem due to complexity –Human head has over 100,000 strands of hair –Computation.
Flocking Behaviors Presented by Jyh-Ming Lien. Flocking System What is flocking system? – A system that simulates behaviors of accumulative objects (e.g.
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.
G. Folino, A. Forestiero, G. Spezzano Swarming Agents for Discovering Clusters in Spatial Data Second International.
Optimizing Flocking Controllers using Gradient Descent
Florian Klein Flocking Cooperation with Limited Communication in Mobile Networks.
University of Texas at Austin CS 378 – Game Technology Don Fussell CS 378: Computer Game Technology Dynamic Path Planning, Flocking Spring 2012.
Particle Swarm Optimization
1Notes  Assignment 2 is out  Flocking references  Reynolds, “Flocks, Herds, and Schools…”, SIGGRAPH’87  Tu and Terzopoulos, “Artificial Fishes…”, SIGGRAPH’94.
John S Gero Agents – Agent Simulations AGENT-BASED SIMULATIONS.
Particle Systems 1 Adapted from: E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley 2012.
Particle Systems and Fuzzy Shapes Presented by Dan Cogswell.
Particle Systems GPU Graphics. Sample Particle System Fire and SmokeWater.
UNC Chapel Hill M. C. Lin Reading Assignments Principles of Traditional Animation Applied to 3D Computer Animation, by J. Lasseter, Proc. of ACM SIGGRAPH.
T.J. Hartnett CSE 704 Seminar Dr. Miller Spring ‘11 EVOLVING CREATURES.
CS274 Spring 01 Lecture 5 Copyright © Mark Meyer Lecture V Higher Level Motion Control CS274: Computer Animation and Simulation.
Steering Behaviors For Autonomous Characters
Collective Animal Behavior Ariana Strandburg-Peshkin.
Crowd Simulations Guest Instructor - Stephen J. Guy.
Physically Based Animation and Modeling
Modelling and Simulation Dynamics. Dynamics Dynamics is a branch of physics that describes how objects move. Dynamic animation uses rules of physics to.
Yingcai Xiao Artificial Intelligence in Game Development Yingcai Xiao.
Biology: flocking, herding & schooling Day 5 COLQ 201 Multiagent modeling Harry Howard Tulane University.
Smoothed Particle Hydrodynamics (SPH) Fluid dynamics The fluid is represented by a particle system Some particle properties are determined by taking an.
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.
Particle Systems – Technique for Modeling a Class of Fuzzy Objects Craig Schroeder Computer Graphics I April 22, 2004.
Particle Systems Simulation for special effects.
Computer Graphics 2 In the name of God. Outline Introduction Animation The most important senior groups Animation techniques Summary Walking, running,…examples.
Boltzmann Machine (BM) (§6.4) Hopfield model + hidden nodes + simulated annealing BM Architecture –a set of visible nodes: nodes can be accessed from outside.
(Particle Swarm Optimisation)
1 IE 607 Heuristic Optimization Particle Swarm Optimization.
Designing a multimedia interactive to support shared learning experiences Steve DiPaola & Caitlin Akai Simon Fraser University Steve DiPaola & Caitlin.
Evolving Virtual Creatures & Evolving 3D Morphology and Behavior by Competition Papers by Karl Sims Presented by Sarah Waziruddin.
CSC505 Particle Systems. CSC505 Object Representations So far we have represented (rendered) objects with –Lines –Polygons (triangles) –Curves These techniques.
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.
1 Perception and VR MONT 104S, Fall 2008 Lecture 21 More Graphics for VR.
Artificial Intelligence in Game Design Complex Steering Behaviors and Combining Behaviors.
Character Setup In addition to rigging for character models, rigging artists are also responsible for setting up animation controls for anything that is.
Particle Systems (Motion Machines of 2D Objects with Textures) Matthew K. Bowles Advanced Computer Graphics Spring 2004.
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.
Evolving Virtual Creatures Karl Sims – SIGGRAPH ‘94 Presented by Andy Snyder.
Evolving Virtual Creatures by Karl Sims (1995) Adelein Rodriguez.
Evolving Motor Techniques for Artificial Life Kelley Hecker, Period 7.
Controlling Individual Agents in High-Density Crowd Simulation
Particle Swarm Optimization † Spencer Vogel † This presentation contains cheesy graphics and animations and they will be awesome.
REFERENCES: FLOCKING.
Multimedia Programming 21: Particle Animation Departments of Digital Contents Sang Il Park.
COMPUTER GRAPHICS CS 482 – FALL 2015 SEPTEMBER 29, 2015 RENDERING RASTERIZATION RAY CASTING PROGRAMMABLE SHADERS.
Advanced Games Development Game Physics CO2301 Games Development 1 Week 19.
Particle Swarm Optimization (PSO)
Particle Systems Reference: Reeves W.: "Particle Systems -- A Technique for Modelling a Class of Fuzzy Objets", Computer Graphics, 17(3), pp ,
Animation Animation is about bringing things to life Technically: –Generate a sequence of images that, when played one after the other, make things move.
Computer Graphics Imaging Ying Zhu Georgia State University Lecture 29 Soft Bodies and Rigid Bodies.
Students: Yossi Turgeman Avi Deri Self-Stabilizing and Efficient Robust Uncertainty Management Instructor: Prof Michel Segal.
Review IMGD Engine Architecture Types Broadly, what are the two architecture types discussed for game engines? What are the differences?
Instructor: Erol Şahin
Crowds (and research in computer animation and games)
Computer Animation Algorithms and Techniques
Reading Assignments Principles of Traditional Animation Applied to 3D Computer Animation, by J. Lasseter, Proc. of ACM SIGGRAPH 1987 Computer Animation:
Crowds (and research in computer animation and games)
Prepared by: Engr . Syed Atir Iftikhar
Synthesis of Motion from Simple Animations
Computer Graphics Lecture 15.
Particle Systems - A Technique for Modeling a Class of Fuzzy Objects
Hiroki Sayama NECSI Summer School 2008 Week 2: Complex Systems Modeling and Networks Agent-Based Models Hiroki Sayama
Presentation transcript:

Physical Based Animation/Simulation

Particle Systems Particle systems offer a solution to modeling amorphous, dynamic and fluid objects like clouds, smoke, water, explosions and fire.

Representing Objects with Particles An object is represented as clouds of primitive particles that define its volume rather than by polygons or patches that define its boundary. A particle system is dynamic, particles changing form and moving with the passage of time. Object is not deterministic, its shape and form are not completely specified. Instead

Basic Model of Particle Systems 1)New particles are generated into the system. 2)Each new particle is assigned its individual attributes. 3)Any particles that have existed past their prescribed lifetime are extinguished. 4)The remaining particles are moved and transformed according to their dynamic attributes. 5)An image of the particles is rendered in the frame buffer, often using special purpose algorithms.

Particle Attributes Initial position Initial velocity Initial size –InitialSize = MeanSize + Rand() X VarSize Initial color Initial transparency Shape Lifetime Alias|Wavefront’s Maya

Particle Dynamics A particle’s position is found by simply adding its velocity vector to its position vector. This can be modified by forces such as gravity. Other attributes can vary over time as well, such as color, transparency and size. These rates of change can be global or they can be stochastic for each particle.

Particle Extinction When generated, given a lifetime in frames. Lifetime decremented each frame, particle is killed when it reaches zero. Kill particles that no longer contribute to image (transparency below a certain threshold, etc.).

Particle Rendering Particles can obscure other objects behind them, can be transparent, and can cast shadows on other objects. The objects may be polygons, curved surfaces, or other particles.

Star Trek II: The Wrath of Khan

Particle Hierarchy Particle system such that particles can themselves be particle systems. The child particle systems can inherit the properties of the parents.

Grass Entire trajectory of a particle over its lifespan is rendered to produce a static image. Green and dark green colors assigned to the particles which are shaded on the basis of the scene’s light sources. Each particle becomes a blade of grass. white.sand by Alvy Ray Smith (he was also working at Lucasfilm)

Soft Bodies Particle system deforms the surface of a NURBS or polygonal object. chewing gum soft body

Physical Based Animation/Simulation

Flocking Schooling or swarming or herding Relate to groups of characters Craig W. Reynolds, “Flocks, herds and schools: A distributed behavioral model”, SIGGRAPH 87 Three simple rules (steering behavior): –Separation, Alignment, Cohesion –Together gives groups of autonomous agents (boids) a realistic form of group behavior similar to flocks of birds, schools of fish, or swarms of bees. ex1, ex2ex1ex2 –The steering behavior determines how a character reacts to other characters in its local neighborhood. Birds plus -oids

Emergent Behaviors Combination of three flocking rules results in emergence of fluid group movements Emergent behavior –Behaviors that aren’t explicitly programmed into individual agent rules Ants, bees, schooling fishes

Three Rules (Steering Behaviors) 1.Separation: steer to avoid crowding local flockmates 2.Alignment: steer toward the average heading of local flockmates 3.Cohesion: steer to move toward the average position of local flockmates

Three Rules (Steering Behaviors) In each rule, the steering behavior determines how a character reacts to other characters in its local neighborhood. Characters outside of the local neighborhood are ignored. The neighborhood is specified by a distance which defines when two characters are “nearby”, and an angle which defines the character’s perceptual “field of view.”

Separation steer to avoid crowding local flockmates Gives a character the ability to maintain a certain separation distance from others nearby.

How to Compute Steering for Separation? First a search is made to find other characters within the specified neighborhood (exhaustive, spatial partitioning, caching scheme) For each nearby character, a repulsive force is computed by subtracting the positions of our character and the nearby character, normalizing, and then applying a 1/r weighting. (That is, the position offset vector is scaled by 1/r 2.) These repulsive forces for each nearby character are summed together to produce the overall steering force.

Alignment steer toward the average heading of local flockmates Gives an character the ability to align itself with (that is, head in the same direction and/or speed as) other nearby characters

How to Compute Steering for Alignment? Find all characters in the local neighborhood (as described for separation) Average together the velocity (or alternately, the unit forward vector) of the nearby characters. This average is the “desired velocity,” and so the steering vector is the difference between the average and our character’s current velocity (or alternately, its unit forward vector). This steering will tend to turn our character so it is aligned with its neighbors.

Cohesion steer to move toward the average position of local flockmates Gives an character the ability to cohere with (approach and form a group with) other nearby characters

How to Compute Steering for Cohesion? Find all characters in the local neighborhood (as described for separation) Computing the “average position” (or “center of gravity”) of the nearby characters. The steering force can applied in the direction of that “average position” (subtracting our character position from the average position, as in the original boids model), or it can be used as the target for seek steering behavior.

Separation, Alignment and Cohesion In some applications it is sufficient to simply sum up the three steering force vectors to produce a single combined steering for flocking However for better control it is helpful to: 1.normalize the three steering components 2.scale them by three weighting factors before summing them. As a result, boid flocking behavior is specified by nine numerical parameters: –a weight (for combining), –a distance and an angle (to define the neighborhood) for each of the three component behaviors.

Combined Behaviors and Groups Flocking (combining: separation, alignment, cohesion)Flocking Crowd Path Following Leader Following Unaligned Collision Avoidance Queuing (at a doorway)Queuing

Physical Based Animation/Simulation

Cognitive Modeling Use AI to allow for planning and learning

Control Algorithms Simplified control loop Use feedback to maintain:  balance  velocity (speed and direction)  etc. UserControlSimulation Frame

State Machines Separate the motion or behavior into several simple states State transitions are triggered by events Example: fall forward until foot hits the ground Simple states allow us to generate laws

Running State Machine

Overview Virtual Creatures Creature Representation Creature Control Physical Simulation Behavior Evolution Results

Virtual Creatures Complexity vs. Control Genetic Algorithms –Darwin (fitness) –Differs from previous work

Creature Representation Genotype Phenotype

Creature Representation Directed Graph –Nodes Information –Dimensions –Joint-type –Joint-limits –Recursive-limit –Neurons –Connections »Child Node »Position »Orientation

Creature Control Brain –A directed graph of “neurons” Effectors –Applied at Joints as Forces or Torques Muscle Pairs

Creature Control Neurons –Provide different functions Sum, product, abs, max, sin, cos, oscillators, etc… –Output vs. Input Number of inputs dependant on function Output dependant on input and maybe previous state

Combining Control and Representation

Physical Simulation Collision Detection –Bounding Box + Pair Specific Collision Response –Impulses + penalty springs Friction Viscosity –For simulating underwater

Behavior Evolution for a specific behavior –Swimming –Walking –Jumping –Following (Land/Water) Fitness function evaluated at each step –Weights for more preferred methods

Evolution Recipe for a successful evolution 1.Create initial genotypes 1.From scratch 2.Calculate survival ratio 3.Evaluate fitness and kill off the weaklings 4.Reproduce the most fit 5.Evolve, and proceed to step 3.

Evolution Mating: CrossOver & Mutation Reproductive Method –40% Asexual –30% Crossover –30% Grafting

Performance CM-5 with 32 processors – 3 Hours –Population of 300 –100 Generations

Results Homogeneity Swimmers –Paddlers –Tail-waggers Walkers –Lizard-like –Pushers/Pullers –Hoppers Followers –Steering Fins –Paddlers

Overview of vBeluga Virtual belugas are shown in a wild pod context Incorporates research on beluga behavior and vocalization conducted at aquarium UBC Zoology Flow: scientist – game – visitors : wild belugas : captive - wild Simulation : AI architecture - belugas can learn and alter their behavior based on changes in their environment – updatable: new scientific thinking Physically-based system allows for natural whale locomotion and realistic water – game research Realistic graphics : use of actuators (virtual bones and muscles) - game research

Beluga Behavior System NNet, Action Selection DiPaola,Akai,Kraus 06 "Experiencing Belugas: Developing an Action Selection- Based Aquarium Interactive", Journal of Adaptive Behavior Foundation AI (NSERC) DiPaola,Akai 06 “Designing Adaptive Multimedia Interactives to Support Shared Learning Experiences", ACM Siggraph Education Design HCI / Informal Learning (SAGE) DiPaola,Akai 06 "Blending Science Knowledge and AI Gaming Techniques for Experiential Learning", CA Game Studies Assoc. Gaming/Learning DiPaola,Akai 05 “Shifting Boundaries: the Ontological Implications of Simulating Marine Mammals”, NewForms, Museum of Anthropology IT/Society

Vancouver Aquarium: Adv. Layer

Neural Net Layer

Flexibility of use Decouple Display with UI (tabletop) –Control crowd by related placement Main gallery full ui: tabletop, projection, signage Summer camp simple ui: on every system Beluga encounters guided system Corporate gathering main system, ambient mode

Physical Based Animation/Simulation