-
Los Game Objects que son parte de un navmesh
-
son una manera excelente de construir paredes estáticas a una escena.
-
Pero qué pasa si nosotros queremos un objeto que se mueva
-
que bloquee el camino del personaje?
-
Para esto nosotros vamos a utilizar
-
un navmesh obstacle (obstáculo navmesh).
-
A diferencia de los game objects que son marcados como navigation static (estáticos en navegación)
-
y baked a un navmesh
-
los obstáculos navmesh son capaces
-
de bloquear caminos dinámicamente.
-
Algunos ejemplos de obstáculos navmesh
-
pueden ser puertas que se abren o bloqueos en movimiento.
-
Para más información acerca de navmeshes
-
ver la lección acerca del navmesh baking vinculada abajo.
-
Aquí nosotros tenemos una escena con una cápsula en ella.
-
La cápsula tiene un nagmesh agent adjunto.
-
La cápsula también tiene un script en ella
-
que se moverá hacia nuestro game object objetivo.
-
Para más información acerca de navmesh agents
-
ver la lección vinculada abajo.
-
También en nuestra escena está un modelo de un oso.
-
Este oso no es navigation static
-
y por lo tanto no es baked al navmesh.
-
Sin embargo, a nosotros nos gustaría que este oso
-
bloquee el camino de cualquier agente navmesh en nuestra escena.
-
Para agregar un componente navmesh obstacle
-
a un game object
-
haga click en el botón Add Componente y seleccione
-
Navigation - Nav Mesh Obstacle
-
Las propiedades Radius y Height del
-
componente navmesh obstacle
-
determina las dimensiones del cilindro
-
que van a bloquear el camino del personaje.
-
Nosotros hablaremos acerca de la propiedad Move Threshold en un momento.
-
La opción Carve determina si sí o no
-
el obstáculo va a crear un hueco temporal en un navmesh.
-
Con esto seleccionado, nosotros podemos ver que el obstáculo
-
crea un lugar intransitable en nuestro navmesh.
-
La manera que esto funciona es así.
-
Digamos que el obstáculo navmesh
-
está bloqueando un pasillo estrecho.
-
Si Carve es seleccionado un navmesh agent
-
va a evitar ese camino cuando está calculando su camino.
-
Si Carve no está seleccionado
-
entonces el agente va a intentar viajar ese camino
-
pero no podrá transitar.
-
La propiedad Move Threshold
-
es solamente utilizada si Carve es habilitada.
-
Esta propiedad dicta qué tan lejos
-
el obstáculo navmesh debe moverse
-
antes del hueco en el navmesh
-
sea re-calculado.
-
Con un obstáculo en el paso
-
nosotros podemos correr nuestra escena.
-
Nosotros vamos a notar que el navmesh agent
-
evita el obstáculo mientras se mueva hacia su objetivo.