crowd simulations guest instructor - stephen j. guy

Post on 24-Dec-2015

219 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Crowd Simulations

Guest Instructor - Stephen J. Guy

Outline Animation basics

Key framing Simulation Loop

How to move one man Walk Cycle IK

How to move one thousand Crowd Models Collision Avoidance Data Structures

Rendering

Outline Animation basics

Key framing Simulation Loop

How to move one man Walk Cycle IK

How to move one thousand Crowd Models Collision Avoidance

Rendering

Animation - Basics Comp 768 Preview… Goal: Illusion of continuous motion Divide into several small time-steps (length

T) Show new image at each time-step Needs to happened at least ~12/second (more

is better) Advance T

Update StateDraw Picture

Outline Animation basics

Key framing Simulation Loop

How to move one man Walk Cycle IK

How to move one thousand Crowd Models Collision Avoidance Data Structures

Rendering

Walk Cycle Simply Translating a character to its goal

is unrealistic Walk Cycle: A looping series of positions

which represent a character walking (or running or galloping)

Shifting the animation provides the illusion of walking

Inplace Shifted w/ Time

Digression - Eadweard Muybridge 19th Century English Photograyher

Used multiple cameras to capture motion Invented Zoopraxiscope (spinning wheel of still

images) to animate images

Walk Cycle - Analysis Pros:

Simple to implement Captures the basics of human movement

Cons: Walks must cycle Can’t handle changes in stride length Can’t handle jumps Must be animated by hand

Walk Cycle - Alternatives Inverse Kinematics

Using math to figure out where to place the rest of the body to get the feet moving forward

Motion Capture Record data of real humans walking

Motion Clips FSM of different motions

Outline Animation basics

Key framing Simulation Loop

How to move one man Walk Cycle IK

How to move one thousand Crowd Models Collision Avoidance Data Structures

Rendering

Crowd Simulation Models Simplest model – Agent Based:

Capture Global Behavior w/ many interacting autonomous agents

Each person is represented by one agent Chooses next state based on goal and neighbors

Pioneered by Craig Reynolds Won 1998 (Technical) Academy Award

Advance T

Gather Neighbor

s

Draw Agent

Update State

s

For Each Agent

Agent Based Simulations Flocking

Craig Reylonds SIGGRAPH1987

Social Forces Model Dirk Helbing Physics Review B 1995 Nature 2000

Reciprocal Velocity Obstacles Van den Berg I3D 2008

Agent Based Simulations Flocking

Craig Reylonds SIGGRAPH1987

Social Forces Model Dirk Helbing Physics Review B 1995 Nature 2000

Reciprocal Velocity Obstacles Van den Berg I3D 2008

Flocking Seminal work in multi-agent movement Assign simple force to each agent Used in

Lion King Batman Returns

Separation Alignment Cohesion

Boids - Continued New forces can be added to incorporate more

behaviors Avoiding Obstacles

Collision Avoidance

Be Creative!

Boids Online Visit: http://www.red3d.com/cwr/boids/

And: http://www.red3d.com/cwr/steer/Unaligned.html

Agent Based Simulations Flocking

Craig Reylonds SIGGRAPH1987

Social Forces Model Dirk Helbing Physics Review B 1995 Nature 2000

Reciprocal Velocity Obstacles Van den Berg I3D 2008

Helbing’s Social Force Model Very similar to boid model Treats all agents as physical obstacles Solves a = F/m where F is “social force”:

Fij – Pedestrian Avoidance

FiW – Obstacle (Wall) Avoidance

Desired Velocity Current Velocity

Avoiding Other Pedestrians

Avoiding Walls

Social Force Model – Pedestrian Avoidance

rij – dij Edge-to-edge distance nij – Vector pointing away from agent

Ai*e[(rij-dij)/Bi] Repulsive force which is

exponential increasing with distance g(x) x if agents are colliding, 0 otherwise

tij – Vector pointing tangential to agent Vt

ji – Tangential velocity difference

FiW is very similar

Collision Avoidance

Non-penetration Sliding Force

Helbing - Continued Noticed arching

Also observed in real crowds

Killed or injured people whoexperienced too much force (1,600 N/m) – became unresponsive obstacles

Noticed Faster-is-slower effect

Agent Based Simulations Flocking

Craig Reylonds SIGGRAPH1987

Social Forces Model Dirk Helbing Physics Review B 1995 Nature 2000

Reciprocal Velocity Obstacles Van den Berg I3D 2008

Reciprocal Velocity Obstacles Applied ideas from robotics to crowd simulations Basic idea:

Given n agents with velocities, find velocities will cause collisions

Avoid them! Planning is performed in velocity space

RVOAB(vB, vA) = {v’A | 2v’A – vA

VOAB(vB)}

23

RVO: Planning In Velocity Space

24

RVO: Planning In Velocity Space

RA + RB

25

RVO: Planning In Velocity Space

(VA +

VB)/2

RVO: Planning In Velocity Space

26

27

RVO: Planning In Velocity Space

28

RVO: Planning In Velocity Space

RVO: Planning In Velocity Space

29

30

RVO: Planning In Velocity Space

RVO: Planning In Velocity Space

31

RVO: Planning In Velocity Space

32

Videos 12 Agents in a Circle

Videos 1,000 agent’s in a circle

Related data-structures KD-trees

Allowing efficient gathering of nearby neighbors O(log n)

Roadmaps & A* Allows global navigation around obstacles

Roadmaps

1. Create roadmap in free space

2. Find visible source nodes

3. Graph Search to find path to Destination

A* is very popular graph search algorithm

36

Video 1,000 people leaving Sitterson Hall

Uses RVO, Roadmaps, A* and Kd-Trees

Outline Animation basics

Key framing Simulation Loop

How to move one man Walk Cycle IK

How to move one thousand Crowd Models Collision Avoidance Data Structures

Rendering

Rendering Crowds Traditional OpenGL pipeline can be too slow

for 1000s of agents View Culling helps, but often not enough

Need Level-of-Detail techniques Use models with more polygons up close, less

when far away

Imposters

40

Replace Far off agents with an oriented texture

Several Issues “Popping” Uniformity Lighting Shadows

Many issues addressed in recent works

Questions

?

top related