crowds in a polygon soup next-gen path planning david miles 3/23/2006
DESCRIPTION
Crowds In A Polygon Soup Next-Gen Path Planning David Miles 3/23/2006. Automated Build Process. Voxelize Polygon Soup. Identify Walkable Surfaces. Simplify Surface Perimeter. Partition Into Convex Areas. Convex Partitioning. Convex Area Graph Complete. Holes in the Surfaces. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Crowds In A Polygon Soup Next-Gen Path Planning David Miles 3/23/2006](https://reader036.vdocuments.site/reader036/viewer/2022062500/568150a3550346895dbea556/html5/thumbnails/1.jpg)
Crowds In A Polygon Soup
Next-Gen Path Planning
David Miles3/23/2006
![Page 2: Crowds In A Polygon Soup Next-Gen Path Planning David Miles 3/23/2006](https://reader036.vdocuments.site/reader036/viewer/2022062500/568150a3550346895dbea556/html5/thumbnails/2.jpg)
![Page 3: Crowds In A Polygon Soup Next-Gen Path Planning David Miles 3/23/2006](https://reader036.vdocuments.site/reader036/viewer/2022062500/568150a3550346895dbea556/html5/thumbnails/3.jpg)
![Page 4: Crowds In A Polygon Soup Next-Gen Path Planning David Miles 3/23/2006](https://reader036.vdocuments.site/reader036/viewer/2022062500/568150a3550346895dbea556/html5/thumbnails/4.jpg)
![Page 5: Crowds In A Polygon Soup Next-Gen Path Planning David Miles 3/23/2006](https://reader036.vdocuments.site/reader036/viewer/2022062500/568150a3550346895dbea556/html5/thumbnails/5.jpg)
Automated Build Process
![Page 6: Crowds In A Polygon Soup Next-Gen Path Planning David Miles 3/23/2006](https://reader036.vdocuments.site/reader036/viewer/2022062500/568150a3550346895dbea556/html5/thumbnails/6.jpg)
Voxelize Polygon Soup
![Page 7: Crowds In A Polygon Soup Next-Gen Path Planning David Miles 3/23/2006](https://reader036.vdocuments.site/reader036/viewer/2022062500/568150a3550346895dbea556/html5/thumbnails/7.jpg)
Identify Walkable Surfaces
![Page 8: Crowds In A Polygon Soup Next-Gen Path Planning David Miles 3/23/2006](https://reader036.vdocuments.site/reader036/viewer/2022062500/568150a3550346895dbea556/html5/thumbnails/8.jpg)
Simplify Surface Perimeter
![Page 9: Crowds In A Polygon Soup Next-Gen Path Planning David Miles 3/23/2006](https://reader036.vdocuments.site/reader036/viewer/2022062500/568150a3550346895dbea556/html5/thumbnails/9.jpg)
Partition Into Convex Areas
![Page 10: Crowds In A Polygon Soup Next-Gen Path Planning David Miles 3/23/2006](https://reader036.vdocuments.site/reader036/viewer/2022062500/568150a3550346895dbea556/html5/thumbnails/10.jpg)
Convex Partitioning
![Page 11: Crowds In A Polygon Soup Next-Gen Path Planning David Miles 3/23/2006](https://reader036.vdocuments.site/reader036/viewer/2022062500/568150a3550346895dbea556/html5/thumbnails/11.jpg)
Convex Area Graph Complete
![Page 12: Crowds In A Polygon Soup Next-Gen Path Planning David Miles 3/23/2006](https://reader036.vdocuments.site/reader036/viewer/2022062500/568150a3550346895dbea556/html5/thumbnails/12.jpg)
Holes in the Surfaces
![Page 13: Crowds In A Polygon Soup Next-Gen Path Planning David Miles 3/23/2006](https://reader036.vdocuments.site/reader036/viewer/2022062500/568150a3550346895dbea556/html5/thumbnails/13.jpg)
Splice Location
![Page 14: Crowds In A Polygon Soup Next-Gen Path Planning David Miles 3/23/2006](https://reader036.vdocuments.site/reader036/viewer/2022062500/568150a3550346895dbea556/html5/thumbnails/14.jpg)
Single Polygon Surface
![Page 15: Crowds In A Polygon Soup Next-Gen Path Planning David Miles 3/23/2006](https://reader036.vdocuments.site/reader036/viewer/2022062500/568150a3550346895dbea556/html5/thumbnails/15.jpg)
Convex Area Graph Complete
![Page 16: Crowds In A Polygon Soup Next-Gen Path Planning David Miles 3/23/2006](https://reader036.vdocuments.site/reader036/viewer/2022062500/568150a3550346895dbea556/html5/thumbnails/16.jpg)
Overhead Obstacles
![Page 17: Crowds In A Polygon Soup Next-Gen Path Planning David Miles 3/23/2006](https://reader036.vdocuments.site/reader036/viewer/2022062500/568150a3550346895dbea556/html5/thumbnails/17.jpg)
Walkable Surface Removal
![Page 18: Crowds In A Polygon Soup Next-Gen Path Planning David Miles 3/23/2006](https://reader036.vdocuments.site/reader036/viewer/2022062500/568150a3550346895dbea556/html5/thumbnails/18.jpg)
Changing WorldsDynamic Obstacles
• Dynamic obstacles reconfigure world
• Dynamic areas added
• Pathfinding algorithm unchanged
![Page 19: Crowds In A Polygon Soup Next-Gen Path Planning David Miles 3/23/2006](https://reader036.vdocuments.site/reader036/viewer/2022062500/568150a3550346895dbea556/html5/thumbnails/19.jpg)
Boolean Subtract
-
=
![Page 20: Crowds In A Polygon Soup Next-Gen Path Planning David Miles 3/23/2006](https://reader036.vdocuments.site/reader036/viewer/2022062500/568150a3550346895dbea556/html5/thumbnails/20.jpg)
Boolean Subtract One Area
![Page 21: Crowds In A Polygon Soup Next-Gen Path Planning David Miles 3/23/2006](https://reader036.vdocuments.site/reader036/viewer/2022062500/568150a3550346895dbea556/html5/thumbnails/21.jpg)
Non-Convex Dynamic Areas
![Page 22: Crowds In A Polygon Soup Next-Gen Path Planning David Miles 3/23/2006](https://reader036.vdocuments.site/reader036/viewer/2022062500/568150a3550346895dbea556/html5/thumbnails/22.jpg)
Establish Connectivity
![Page 23: Crowds In A Polygon Soup Next-Gen Path Planning David Miles 3/23/2006](https://reader036.vdocuments.site/reader036/viewer/2022062500/568150a3550346895dbea556/html5/thumbnails/23.jpg)
Match Up Remaining Edges
![Page 24: Crowds In A Polygon Soup Next-Gen Path Planning David Miles 3/23/2006](https://reader036.vdocuments.site/reader036/viewer/2022062500/568150a3550346895dbea556/html5/thumbnails/24.jpg)
Dynamic Obstacle Summary
• Find areas affected by dynamic obstacle• Record any edges entering from outside• Boolean subtract• Partition any non-convex dynamic areas• Match up unconnected edges
![Page 25: Crowds In A Polygon Soup Next-Gen Path Planning David Miles 3/23/2006](https://reader036.vdocuments.site/reader036/viewer/2022062500/568150a3550346895dbea556/html5/thumbnails/25.jpg)
Fluid AI Navigation
What can I do with my convex area graph?– Very fast navigational ray-casts– Distance to edge queries– Repulsion fields on edges– “Next corner” determination
![Page 26: Crowds In A Polygon Soup Next-Gen Path Planning David Miles 3/23/2006](https://reader036.vdocuments.site/reader036/viewer/2022062500/568150a3550346895dbea556/html5/thumbnails/26.jpg)
Path Following in Flocking
Desired flocking behavior
Common approach attracts each flock member to the minimum distance path. Does not adapt to available freespace.
Repulsion from edges can easily trap individuals in local minima.
![Page 27: Crowds In A Polygon Soup Next-Gen Path Planning David Miles 3/23/2006](https://reader036.vdocuments.site/reader036/viewer/2022062500/568150a3550346895dbea556/html5/thumbnails/27.jpg)
For The Pathing Connoisseur
Unneeded return tothe original path annoys the pathing connoisseur
Ahhh, much better
![Page 28: Crowds In A Polygon Soup Next-Gen Path Planning David Miles 3/23/2006](https://reader036.vdocuments.site/reader036/viewer/2022062500/568150a3550346895dbea556/html5/thumbnails/28.jpg)
It’s Easy
Each member of the flock steers left or right to head towards the “next corner”.
![Page 29: Crowds In A Polygon Soup Next-Gen Path Planning David Miles 3/23/2006](https://reader036.vdocuments.site/reader036/viewer/2022062500/568150a3550346895dbea556/html5/thumbnails/29.jpg)
Finding the Next Corner
![Page 30: Crowds In A Polygon Soup Next-Gen Path Planning David Miles 3/23/2006](https://reader036.vdocuments.site/reader036/viewer/2022062500/568150a3550346895dbea556/html5/thumbnails/30.jpg)
“Portals” Between Areas
![Page 31: Crowds In A Polygon Soup Next-Gen Path Planning David Miles 3/23/2006](https://reader036.vdocuments.site/reader036/viewer/2022062500/568150a3550346895dbea556/html5/thumbnails/31.jpg)
Initializing the Loop
![Page 32: Crowds In A Polygon Soup Next-Gen Path Planning David Miles 3/23/2006](https://reader036.vdocuments.site/reader036/viewer/2022062500/568150a3550346895dbea556/html5/thumbnails/32.jpg)
First Update, Left Side
![Page 33: Crowds In A Polygon Soup Next-Gen Path Planning David Miles 3/23/2006](https://reader036.vdocuments.site/reader036/viewer/2022062500/568150a3550346895dbea556/html5/thumbnails/33.jpg)
First Update Complete
![Page 34: Crowds In A Polygon Soup Next-Gen Path Planning David Miles 3/23/2006](https://reader036.vdocuments.site/reader036/viewer/2022062500/568150a3550346895dbea556/html5/thumbnails/34.jpg)
Second Update, Left Side
![Page 35: Crowds In A Polygon Soup Next-Gen Path Planning David Miles 3/23/2006](https://reader036.vdocuments.site/reader036/viewer/2022062500/568150a3550346895dbea556/html5/thumbnails/35.jpg)
Second Update Complete
![Page 36: Crowds In A Polygon Soup Next-Gen Path Planning David Miles 3/23/2006](https://reader036.vdocuments.site/reader036/viewer/2022062500/568150a3550346895dbea556/html5/thumbnails/36.jpg)
Third Update, Left Side
![Page 37: Crowds In A Polygon Soup Next-Gen Path Planning David Miles 3/23/2006](https://reader036.vdocuments.site/reader036/viewer/2022062500/568150a3550346895dbea556/html5/thumbnails/37.jpg)
Final Output
![Page 38: Crowds In A Polygon Soup Next-Gen Path Planning David Miles 3/23/2006](https://reader036.vdocuments.site/reader036/viewer/2022062500/568150a3550346895dbea556/html5/thumbnails/38.jpg)
“Next Corner” Summary
• Easy to compute from convex graph
• < 2 cross-products per iteration
• Can limit iterations
• Never explicitly create min-dist path
• Fluid motion even with large disturbances
![Page 39: Crowds In A Polygon Soup Next-Gen Path Planning David Miles 3/23/2006](https://reader036.vdocuments.site/reader036/viewer/2022062500/568150a3550346895dbea556/html5/thumbnails/39.jpg)
Conclusions• Automated build of convex area graph
– efficiently represents the walkable free space
– operates on polygon soup mesh– settable enemy size and shape
• Dynamic obstacles update graph– no speed overhead once updated
• Fluid AI navigation using the graph– Many useful queries performed rapidly
![Page 40: Crowds In A Polygon Soup Next-Gen Path Planning David Miles 3/23/2006](https://reader036.vdocuments.site/reader036/viewer/2022062500/568150a3550346895dbea556/html5/thumbnails/40.jpg)
Special Thanks
• Meilin Wong
• Hong Park and David Modiano
• Crystal Dynamics
• www.babelflux.com