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 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 Realistic Crowd Simulation with Density-Based Path Planning 2 Overview We use crowd density information 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 Realistic Crowd Simulation with Density-Based Path Planning 3 Sneak preview Before: After: Realistic Crowd Simulation with Density-Based Path Planning 4 Navigation Meshes / Crowd Density Preliminaries Realistic Crowd Simulation with Density-Based Path Planning 5 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 navigation mesh / crowd General framework? Realistic Crowd Simulation with Density-Based Path Planning 6 Explicit Corridor Map An exact and flexible navigation mesh Medial axis Closest-obstacle annotations A* on the medial axis path + corridor Shortest paths with clearance Collision avoidance Multi-layered environments Dynamic updates Realistic Crowd Simulation with Density-Based Path Planning 7 Crowd density Fraction of a region Ri that is occupied by characters Often in persons per m² Often in levels and colors For us: value ρi between 0 and 1 (allows multiple character sizes) F E Practical studies Time-based path planning? D C B A avg. walking speed When the density is high, people walk more slowly Density-speed function v(ρ) : [0,1] [0, vmax] crowd density Realistic Crowd Simulation with Density-Based Path Planning 8 Density Map / Density-Based Path Planning Method Realistic Crowd Simulation with Density-Based Path Planning 9 Density map ECM divides the environment into non-overlapping regions Each region maps to an ECM edge Each region stores its local density Updated in real-time Density of a region Expected walking speed within the region Expected traversal time of the edge Expected delay Realistic Crowd Simulation with Density-Based Path Planning 10 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 Realistic Crowd Simulation with Density-Based Path Planning 11 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 invisible part Partial replanning: re-use invisible parts Character has moved More points are visible At a mutually invisible point, A* can stop Speed vs. knowledge Realistic Crowd Simulation with Density-Based Path Planning 12 Realistic Crowds in Real-Time Results Realistic Crowd Simulation with Density-Based Path Planning 13 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 D=0 ∞m m 350 Real-time periodic replanning replanning time 1 - 2 ms in a large city Multi-threading: steering 50K characters in 30 ms/frame 70 ms/frame left for e.g. replanning # path vertices Realistic Crowd Simulation with Density-Based Path Planning 14 Conclusions / Future work Closing Comments Realistic Crowd Simulation with Density-Based Path Planning 15 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 Realistic Crowd Simulation with Density-Based Path Planning 16 Future work New questions Use flow information? (speed + direction) Use actual visibility? Event-based vs. periodic replanning Plan with terrain information? Realistic Crowd Simulation with Density-Based Path Planning 17 More information Poster Contact us W.G.vanToll@uu.nl R.J.Geraerts@uu.nl http://people.cs.uu.nl/roland/ Questions? Realistic Crowd Simulation with Density-Based Path Planning 18