180 likes | 239 Views
Realistic Crowd Simulation with Density-Based Path Planning. Wouter G. van Toll Atlas F. Cook IV Roland Geraerts. ICT.OPEN / ASCI October 22nd, 2012. Introduction. Path planning in virtual environments (e.g. games) Global planning: find a main route
E N D
Realistic Crowd Simulationwith Density-Based Path Planning Wouter G. van Toll Atlas F. Cook IV Roland Geraerts ICT.OPEN / ASCI October 22nd, 2012
Introduction • Path planning in virtual environments (e.g. games) • Global planning: find a main route • Local planning: variety, collision avoidance • Many characters at once: crowd simulation • Problem: in a crowd, short routes are not always good • Collision avoidance cannot solve everything • Other routes are unused
Overview • We use crowd densityinformation for global planning • Stored in a navigation mesh (Explicit Corridor Map) • Planning algorithm: time-based A* • Periodic replanning • Results • Characters take detours around congested areas • Crowd spreads over different routes • Efficient: tens of thousands of characters in real-time
Sneak preview Before: After:
NavigationMeshes / CrowdDensity Preliminaries
Navigation meshes • Characters need to find paths through an environment • Navigation graph: 1D edges • Not flexible enough for crowds • Navigation mesh: 2D polygons • Global path: sequence of polygons • Local planning during movement • Common in modern games / simulations • “Crowd simulation has been solved!” • Assumptions in the navigationmesh / crowd • General framework?
Explicit Corridor Map • An exact andflexiblenavigationmesh • Medialaxis • Closest-obstacleannotations • A* on the medialaxis path + corridor • Shortestpathswith clearance • Collisionavoidance • Multi-layered environments • Dynamic updates
Crowd density • Fraction of a regionRithat is occupiedbycharacters • Often in persons per m² • Often in levels andcolors • For us: valueρibetween 0 and 1 (allows multiple charactersizes) • Practical studies • When the density is high,people walk more slowly • Density-speed functionv(ρ) : [0,1] [0, vmax] • Time-basedpath planning? F E D C B A avg. walking speed crowd density
Density map • ECM divides the environment intonon-overlapping regions • Eachregionmapstoan ECM edge • Eachregion stores itslocaldensity • Updated in real-time • Density of a region Expectedwalking speedwithin the region Expectedtraversal time of the edge Expecteddelay
Density-based path planning • A* search on the medial axis • A character wants a “fast path”, not necessarily the shortest • Each ECM edge ei has a density ρi • tmin(ei): traversal time at speed v(0) = vmax • tdens(ei): traversal time at speed v(ρi) • tdelay(ei) = tmin(ei) - tdens(ei) • cost(ei) = tmin(ei) + w • tdelay(ei) • Controlling the sensitivity to delays • w = 0: shortest path • w = 1: “fastest path” (Höcker et al., 2010) • w > 1: more eager to take detours
Replanning • Densities change all the time • Characters should re-check their paths • “We cannot see crowds that are far away” • Density viewing distance D along the medial axis • A*: if the path length > D, assume ρ = 0 Path has a visible and an invisiblepart • Partial replanning: re-use invisible parts • Character has moved • More points are visible • At a mutually invisible point, A* can stop Speed vs. knowledge
RealisticCrowds in Real-Time Results
Experimental results • Varying the cost weight w • w = 0 congestions • w = 1, no replanning periodic effect • w = 1, replanning realistic crowd flow longer but faster paths • w > 1 larger detours, indecisive crowd Useful in other environments? • Varying the viewing distance • 1 - 2 ms in a large city • Real-time periodic replanning • Multi-threading: steering 50K characters in 30 ms/frame • 70 ms/frame left for e.g. replanning D = ∞ D = 350 m D = 0 m replanning time # path vertices
Conclusions / Future work Closing Comments
Conclusions • The ECM navigation mesh serves as a density map • Non-overlapping, exact, always defined • Region densities map to “edge speeds” • Updated in real-time • Characters use density-based A* • Short paths with little expected delay • Sensitivity to delay can be set • (Partial) replanning • Result: More realistic crowds • Characters spread over routes • Characters avoid congestions • Emergent: global effects due to individual choices • (Still) real-time performance for large crowds
Future work • New questions • Use flow information? (speed + direction) • Use actual visibility? • Event-based vs. periodic replanning • Plan with terrain information?
More information • Poster • Contact us • W.G.vanToll@uu.nl • R.J.Geraerts@uu.nl • http://people.cs.uu.nl/roland/ • Questions?