multi layered navmesh ictopen2011
TRANSCRIPT
-
7/24/2019 Multi Layered Navmesh ICTOPEN2011
1/18
Multi-Layered NavigationMeshes
Wouter G. van Toll, Atlas F. Cook IV, oland GeraertsICT.OPEN 2011
-
7/24/2019 Multi Layered Navmesh ICTOPEN2011
2/18
2 / 18
Motivation
!ath "lanning in ga#es andsi#ulations
$end virtual %hara%ters &ro# start to goal' in a s#oothan visually convincing way
such that they pay attention to other %hara%ters
in real-ti#e, even for large crowds
Ty"i%al solution( navigation #esh
Subdivision of the walkable spaceinto 2D "olygons
Allows sooth, !e"ible oveent
Shouldbe built auto#ati%ally
-
7/24/2019 Multi Layered Navmesh ICTOPEN2011
3/18
# / 18
esear%h is ne%essary)
I& you think "ath "lanning in ga#es is*solved+'
-
7/24/2019 Multi Layered Navmesh ICTOPEN2011
4/18
$ / 18
What to do
Whats the "role# /u#an error
!oor data stru%tures
!oor algorith#s
What do 0e 0ant
A general &ra#e0ork, as auto#ati% as"ossile
1ur &ra#e0ork( "ath "lanning 0ith%orridors Autoatically built navigation esh
%lobal path planning
&ocal forces
1ur "a"er
-
7/24/2019 Multi Layered Navmesh ICTOPEN2011
5/18
' / 18
23 data stru%ture( The#edial a4is
The set o& all "oints 0ith at least t0o%losest osta%le "oints
*The #iddle+ o& the0alkale s"a%e
Ma4i#u# %learan%eto osta%les
!reserves %onne%tivity
A use&ul road#a" ()f there*s no path on
the edial a"is, thenthere*s no path at all+
-
7/24/2019 Multi Layered Navmesh ICTOPEN2011
6/18
/ 18
The 54"li%it Corridor Ma"65CM7
Annotated #edial a4is 6Geraerts,28987
All event points storea %losest osta%le "oint
on oth sides 54a%tsudivision o&
the 0alkale s"a%e
A navigation #esh O(n)storage
O(n logn)uild ti#e
-
7/24/2019 Multi Layered Navmesh ICTOPEN2011
7/18
- / 18
The 54"li%it Corridor Ma"65CM7 - 2
Features o& the 5CM Gloal "lanning
.n the A only0 ecient
3esult0 "ath4%orridor
Indi%ative oute Method 56araou7as et al, 299:;
$hort "aths 0ith %learan%e
Collision avoidan%e
Lo%al u"dates (A 3A ?12
5:%ient, ;e4ile "ath "lanning < %ro0d
si#ulation
-
7/24/2019 Multi Layered Navmesh ICTOPEN2011
8/18
8 / 18
Multi-layered navigation
Cro0d si#ulation is o&ten a 23 "role# Many *=3+ environ#ents have a 23 to" vie0
(footprint)
>ut 0hat aout #ulti-layered
environ#ents Its not 23
Its not =3
Its a set o& %onne%ted 23 "role#s
54isting #ethods are approximating
=3 grid( loss o& "re%ision
1ur #ethod is exact
-
7/24/2019 Multi Layered Navmesh ICTOPEN2011
9/18
: / 18
This "a"er
We e4tend the 5CM to #ulti-layeredenviron#ents It is %onstru%ted auto#ati%ally
Assu#"tion( layers are given >an be e"tracted fro #D data
All 23 algorith#s 0ill still 0ork
3eal@tie crowd siulation in ulti@layered environents
e%all( The 5CM is an annotated #edial a4is 1ur algorith# ?rst uilds the multila!ere"
me"ial axis
$a#e annotations( multila!ere" EC#
-
7/24/2019 Multi Layered Navmesh ICTOPEN2011
10/18
19 / 18
C01
Multi-layered( 3e?nitions
What is a #ulti-layered environ#ent A realisticset o& la!ersand connections
Layer $i >ounded "lanar area 0ith a "olygonal
&oot"rint 23
Conne%tion C%& Line seg#ent %onne%ting $%to $&
/al& osta%le in $%, hal& 0indo0 to $&6a%%ess
side7
Also a""ears in $&, 0ith ;i""ed sides
*ealisti%+
Layers are logi%ally %onne%ted
All &oot"rints are taken &ro# 9 to" vie0
-
7/24/2019 Multi Layered Navmesh ICTOPEN2011
11/18
11 / 18
Co#"uting the M-L #ediala4is
Constru%tion algorith#9.>uild the 23 #edial a4is o& ea%h layer'
treating connections as ipassable obstacles
>orrect, e"cept inin;uen%e @ones ie the areas with an access sideas a closest
obstacle
hese ust be Blled in
-
7/24/2019 Multi Layered Navmesh ICTOPEN2011
12/18
12 / 18
Co#"uting the M-L #ediala4is - 2
Constru%tion algorith#2.1"en u" the %onne%tions one y one
>hoose any connection, say C%&between layers LAand LB
Cind the %onne%tion s%ene'%&0 all obstacles adacent to
CAB
>opute the edial a"is of SAB
erge it with the edial a"esof LAand LB
reat LAand LB as one layer
fro now on
=. e"eat until all %onne%tions are o"en
esult(9 %ontinuous #edial a4is o& the 0hole
environ#ent$
%
$&
C%&
-
7/24/2019 Multi Layered Navmesh ICTOPEN2011
13/18
1# / 18
Co#"uting the M-L #ediala4is - =
54a#"le Note( e4tra verti%es on layer transitions
Co#"le4ity
n Bosta%le verti%es B%onne%tions
$torage( 16n7 usually 16n7 worst@case
Constru%tion( 16nlog n7 usually 16nlog n7worst@case
Eorst case is very uncoon
In%re#ental a""roa%h handles every %ase)
Conne%tions #ay e %lose together
1rder o& o"ening does not #atter
-
7/24/2019 Multi Layered Navmesh ICTOPEN2011
14/18
1$ / 18
esult( Multi-layered 5CM
Add %losest-"oint annotations 5CM %o#"uted in DE ms
eal-ti#e #ulti-layered %ro0d si#ulation
-
7/24/2019 Multi Layered Navmesh ICTOPEN2011
15/18
1' / 18
54"eri#ental results
Adding osta%les hardly ae%tsstit%hing ti#e
Conne%tion in;uen%e is usually lo%al
unning ti#e in%reases 0ithB%onne%tions
I#"rove#ents are "ossile
We %an steer very large %ro0ds inreal-ti#e
Tens o& thousands o& %hara%ters
-
7/24/2019 Multi Layered Navmesh ICTOPEN2011
16/18
1 / 18
Con%lusion
1ur in%re#ental algorith#' uilds the #edial a4is o& a #ulti-layered
environ#ent
e4tends this to the #ulti-layered 54"li%itCorridor Ma"
1ur navigation #esh'
is uilt auto#ati%ally, given the se"aratelayers
is the ?rst e4a%t #esh &or "olygonal#ulti-layered environ#ents
su""orts e:%ient and ;e4ile %ro0dsi#ulation
-
7/24/2019 Multi Layered Navmesh ICTOPEN2011
17/18
1- / 18
Future 0ork
What %an still e added Faster auto#ati% layer e4tra%tion
.ngoing Sc proects
1ther ga#e a%tions and environ#ents
Fuping, #D surfaces,
There 0ill al0ays e ne0 interesting
"role#s
-
7/24/2019 Multi Layered Navmesh ICTOPEN2011
18/18
18 / 18
The 5nd
Thank you)