-
Muchas veces en Unity usted va a necesitar conectar
-
2 navmeshes juntos para permitirle a los personajes
-
moverse entre ellos.
-
Por ejemplo, usted quiere permitirle
-
a un personaje que salte sobre una brecha en el suelo
-
o saltar desde una altura elevada.
-
Nosotros podemos lograr este efecto utilizando Off mesh links (enlaces off-mesh).
-
Off mesh links son caminos
-
que conectan piezas de un navmesh
-
para que el agente navmesh pueda atravesarlas.
-
Para más información acerca de los navmesh agents
-
ver la lección vinculada abajo.
-
Nosotros podemos crear off mesh links de dos maneras.
-
Nosotros podemos hacerlo ya sea permitiéndole a Unity generarlas de manera automática
-
o nosotros podemos manualmente colocarlas con el
-
componente off mesh link.
-
Aquí nosotros tenemos una escena que tiene una cápsula
-
con un navmesh agent adjunto.
-
La cápsula también tiene un script
-
que hará que el agente se mueva hacia
-
un game object objetivo.
-
Como usted puede ver el game object objetivo
-
está al otro lado de la brecha
-
y es por lo tanto una pieza diferente de navmesh.
-
Con el fin de lograr a que Unity genere off mesh links (enlaces off mesh) para nosotros
-
nosotros vamos a necesitar seleccionar todos los
-
objetos de navegación estáticas en nuestra escena que queremos vínculos entre ellas.
-
En este caso nosotros vamos a seleccionar las 2 cajas de almacenamiento.
-
Una vez seleccionado nosotros vamos a querer marcar
-
la casilla de verificación de generación Off Mesh Link.
-
Ahora nosotros vamos a querer ir a la
-
pestaña Bake de la vista de navegación.
-
Las 2 propiedades que afectan la generación de Off Mesh Link
-
son Drop Height y Jump Distance.
-
Drop Height dicta qué tan lejos de una caída
-
es una distancia aceptable para crear un vinculo.
-
Por ejemplo, sería razonable que sea capaz
-
de soltar una caja, pero no un skyscraper.
-
La Jump Distance determina qué tan lejos de una brecha
-
un off mesh link puede generarse.
-
Una vez más, entre mayor sea el número
-
más lejos un agente puede saltar de un navmesh a otro.
-
Por defecto estos son configurados a 9
-
por lo que nosotros vamos a querer configurarlas a algo
-
que tenga sentido para nuestra escena.
-
Vale la pena tener en cuenta que con el fin de hacer que Unity
-
genere Off mesh links usted va a necesitar
-
desactivar la propiedad Height Mesh.
-
Cuando haya finalizado configurando sus propiedades
-
usted simplemente va hacer click en el botón Bake.
-
Usted va a ver cualquier off mesh link generado
-
en la vista de escena.
-
Si nosotros corremos nuestra escena nosotros podemos ver que el agente
-
ahora es capaz de atravesar la brecha
-
y alcanzar su destino.
-
La segunda manera de crear off mesh links
-
es de manera manual con el componente Off Mesh Link.
-
Al crear enlaces (links) de esta manera nos da un mejor control
-
sobre dónde estos son colocados y cómo nosotros podemos interactuar con estos.
-
Aquí nosotros tenemos la misma escena como antes
-
excepto nosotros hemos quitado los off mesh links (enlaces off mesh)
-
y hemos agregado 2 nuevos game objects vacíos
-
los cuales son nombrados LinkStart y LinkEnd.
-
Estos serán los game objects
-
en dónde nosotros creamos un enlace entre ellos.
-
Para agregar un componente Off Mesh link a un objeto
-
haga click en el botón Add Component y seleccione
-
Navigation - Off Mesh Link.
-
Las primeras 2 propiedades del componente Off mesh link
-
Start y End requieren los game objects
-
que van a representar el inicio y el final de nuestro enlace.
-
Esto significa que el componente no necesita estar
-
en un objeto que es parte de un enlace.
-
Aunque organizacionalmente es una buena idea.
-
El Cost Override es utilizado para ajustar
-
el costo del enlace para los propósitos de calcular un camino.
-
Si esta propiedad no es un número positivo
-
esta será ignorada y el valor por defecto
-
será utilizado.
-
Bi Directional dicta si sí o no
-
un personaje puede atravesar en ambas direcciones
-
a través de un enlace.
-
La propiedad Activated le permite a usted
-
prender un enlace o apagarlo.
-
La Auto Update Positions determina si sí o no el enlace
-
será actualizado si cualquiera de
-
los transforms de Start (inicio) y end (final) son modificados.
-
La Navigation Layer (Capa de navegación) es la capa
-
a la cual los off mesh links pertenecen
-
Para más información acerca de las Navigation Layers
-
ver la lección acerca del NavMesh Baking vinculada abajo.
-
Vale la pena tener en cuenta que una vez usted haya configurado
-
su componente off mesh link
-
usted no necesita re-bake su navmesh.
-
El enlace va a ser automáticamente visible en el navmesh
-
cuando usted abra la vista de navegación.
-
Nosotros ahora podemos correr nuestra escena y ver
-
el agente moverse a través de nuestro
-
nuevo enlace off mesh (Off mesh link) creado.