Top Banner
Multi-Layered Navigation Meshes Wouter G. van Toll, Atlas F. Cook IV, Roland Geraerts ICT.OPEN 2011
18

Multi-Layered Navigation Meshes Wouter G. van Toll, Atlas F. Cook IV, Roland Geraerts ICT.OPEN 2011.

Dec 25, 2015

Download

Documents

Myles Gregory
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Multi-Layered Navigation Meshes Wouter G. van Toll, Atlas F. Cook IV, Roland Geraerts ICT.OPEN 2011.

Multi-Layered Navigation MeshesWouter G. van Toll, Atlas F. Cook IV, Roland GeraertsICT.OPEN 2011

Page 2: Multi-Layered Navigation Meshes Wouter G. van Toll, Atlas F. Cook IV, Roland Geraerts ICT.OPEN 2011.

2 / 18Motivation

Path planning in games and simulations• Send virtual characters from start to goal…

– …in a smooth an visually convincing way…– …such that they pay attention to other characters– …in real-time, even for large crowds

• Typical solution: navigation mesh– Subdivision of the walkable space

into 2D polygons– Allows smooth, flexible movement– Should be built automatically…

Page 3: Multi-Layered Navigation Meshes Wouter G. van Toll, Atlas F. Cook IV, Roland Geraerts ICT.OPEN 2011.

3 / 18Research is necessary!

If you think path planning in games is “solved”…

Page 4: Multi-Layered Navigation Meshes Wouter G. van Toll, Atlas F. Cook IV, Roland Geraerts ICT.OPEN 2011.

4 / 18What to do?

What’s the problem?• Human error• Poor data structures • Poor algorithms

What do we want?• A general framework, as automatic as possible• Our framework: path planning with corridors

– Automatically built navigation mesh– Global path planning– Local forces

Our paper

Page 5: Multi-Layered Navigation Meshes Wouter G. van Toll, Atlas F. Cook IV, Roland Geraerts ICT.OPEN 2011.

5 / 182D data structure: The medial axis

The set of all points with at least two closest obstacle points• “The middle” of the

walkable space• Maximum clearance

to obstacles• Preserves connectivity

A useful roadmap– “If there’s no path on

the medial axis, then there’s no path at all”

Page 6: Multi-Layered Navigation Meshes Wouter G. van Toll, Atlas F. Cook IV, Roland Geraerts ICT.OPEN 2011.

6 / 18The Explicit Corridor Map (ECM)

Annotated medial axis (Geraerts, 2010)• All event points store

a closest obstacle pointon both sides

• Exact subdivision of the walkable space

A navigation mesh• O(n) storage• O(n log n) build time

Page 7: Multi-Layered Navigation Meshes Wouter G. van Toll, Atlas F. Cook IV, Roland Geraerts ICT.OPEN 2011.

7 / 18The Explicit Corridor Map (ECM) - 2

Features of the ECM• Global planning

– On the MA only: efficient!– Result: path + corridor

• Indicative Route Method– (Karamouzas et al., 2009)

• Short paths with clearance• Collision avoidance• Local updates

– “A Navigation Mesh for Dynamic Environments”, submitted to ICRA ‘12

Efficient, flexible path planning & crowd simulation

Page 8: Multi-Layered Navigation Meshes Wouter G. van Toll, Atlas F. Cook IV, Roland Geraerts ICT.OPEN 2011.

8 / 18Multi-layered navigation?

Crowd simulation is often a 2D problem• Many “3D” environments have a 2D top view (footprint)

But what about multi-layered environments?• It’s not 2D• It’s not 3D It’s a set of connected 2D problems

Existing methods are approximating• 3D grid: loss of precision

Our method is exact

Page 9: Multi-Layered Navigation Meshes Wouter G. van Toll, Atlas F. Cook IV, Roland Geraerts ICT.OPEN 2011.

9 / 18This paper

We extend the ECM to multi-layered environments• It is constructed automatically• Assumption: layers are given

– Can be extracted from 3D data

• All 2D algorithms will still work Real-time crowd simulation in multi-layered environments

Recall: The ECM is an annotated medial axis• Our algorithm first builds the multi-layered medial axis• Same annotations: multi-layered ECM

Page 10: Multi-Layered Navigation Meshes Wouter G. van Toll, Atlas F. Cook IV, Roland Geraerts ICT.OPEN 2011.

10 / 18

C01

Multi-layered: Definitions

What is a multi-layered environment?• A realistic set of layers and connections

Layer Li

• Bounded planar area with a polygonal footprint 2D

Connection CAB

• Line segment connecting LA to LB

• Half obstacle in LA, half window to LB (access side)

• Also appears in LB, with flipped sides

“Realistic”• Layers are logically connected• All footprints are taken from 1 top view

Page 11: Multi-Layered Navigation Meshes Wouter G. van Toll, Atlas F. Cook IV, Roland Geraerts ICT.OPEN 2011.

11 / 18Computing the M-L medial axis

Construction algorithm1. Build the 2D medial axis of each layer…

– …treating connections as impassable obstacles

– Correct, except in influence zones– i.e. the areas with an access side as a closest obstacle– These must be filled in

Page 12: Multi-Layered Navigation Meshes Wouter G. van Toll, Atlas F. Cook IV, Roland Geraerts ICT.OPEN 2011.

12 / 18Computing the M-L medial axis - 2

Construction algorithm2. Open up the connections one by one

– Choose any connection, say CAB between layers LA and LB

– Find the connection scene SAB: all obstacles adjacent to CAB

– Compute the medial axis of SAB

– Merge it with the medial axes of LA and LB

– Treat LA and LB as one layerfrom now on

3. Repeat until all connections are open

Result: 1 continuous medial axis of the whole environmentLA

LB

CAB

Page 13: Multi-Layered Navigation Meshes Wouter G. van Toll, Atlas F. Cook IV, Roland Geraerts ICT.OPEN 2011.

13 / 18Computing the M-L medial axis - 3

Example• Note: extra vertices on layer transitions

Complexity• n = #obstacle vertices; k = #connections• Storage: O(n) usually O(kn) worst-case• Construction: O(n log n) usually O(kn log n) worst-case

– Worst case is very uncommon

Incremental approach handles every case!• Connections may be close together• Order of opening does not matter

Page 14: Multi-Layered Navigation Meshes Wouter G. van Toll, Atlas F. Cook IV, Roland Geraerts ICT.OPEN 2011.

14 / 18Result: Multi-layered ECM

Add closest-point annotations• ECM computed in 46 ms• Real-time multi-layered crowd simulation

Page 15: Multi-Layered Navigation Meshes Wouter G. van Toll, Atlas F. Cook IV, Roland Geraerts ICT.OPEN 2011.

15 / 18Experimental results

Adding obstacles hardly affects stitching time• Connection influence is usually local

Running time increases with #connections• Improvements are possible

We can steer very large crowds in real-time• Tens of thousands of characters

Page 16: Multi-Layered Navigation Meshes Wouter G. van Toll, Atlas F. Cook IV, Roland Geraerts ICT.OPEN 2011.

16 / 18Conclusion

Our incremental algorithm…• builds the medial axis of a multi-layered environment• extends this to the multi-layered Explicit Corridor Map

Our navigation mesh…• is built automatically, given the separate layers• is the first exact mesh for polygonal

multi-layered environments• supports efficient and flexible crowd simulation

Page 17: Multi-Layered Navigation Meshes Wouter G. van Toll, Atlas F. Cook IV, Roland Geraerts ICT.OPEN 2011.

17 / 18Future work

What can still be added?• Faster automatic layer extraction

– Ongoing MSc projects

• Other game actions and environments– Jumping, 3D surfaces, …

There will always be new interesting problems

Page 18: Multi-Layered Navigation Meshes Wouter G. van Toll, Atlas F. Cook IV, Roland Geraerts ICT.OPEN 2011.

18 / 18The End

Thank you!