0:00:00.361,0:00:03.180 En Unity cualquier escena con un Navmesh puede fácilmente 0:00:03.180,0:00:05.180 ser navegada por un game object 0:00:05.180,0:00:07.180 con un componente navmesh agent. 0:00:08.527,0:00:10.527 Aquí nosotros tenemos una escena en Unity. 0:00:10.527,0:00:13.137 La escena ya tiene un navmesh bake. 0:00:14.358,0:00:16.973 La escena también necesita un game object vacío 0:00:16.973,0:00:19.327 que será el objetivo de nuestra navegación. 0:00:21.088,0:00:23.715 Finalmente hay una cápsula la cual nosotros 0:00:23.715,0:00:25.715 aplicaremos a nuestro navmesh agent también. 0:00:26.148,0:00:29.717 La capsula tiene un SampleAgentScript adjunto. 0:00:30.286,0:00:33.008 Este script tiene una variable publica Target 0:00:33.008,0:00:35.880 la cual ya está configurada a nuestro game object vacío 0:00:35.880,0:00:37.880 llamado Target. 0:00:38.842,0:00:40.842 Para agregar un navmesh agent 0:00:40.842,0:00:43.111 haga click en el botón Add Componente 0:00:43.111,0:00:45.409 en la vista del inspector y seleccione 0:00:45.409,0:00:47.983 Navigation - NavMesh Agent. 0:00:50.168,0:00:52.168 El agente tiene varios ajustes los cuales 0:00:52.168,0:00:54.835 nosotros podemos modificar para cambiar su comportamiento. 0:00:55.438,0:00:58.580 El Radius representa el radio del agente. 0:00:58.580,0:01:02.183 Mientras que la Speed es la velocidad máxima del agente. 0:01:03.212,0:01:05.212 La Acceleration es qué tan rápido el 0:01:05.212,0:01:07.029 agente va a acelerar. 0:01:07.395,0:01:09.943 Y la Angular Speed es qué tan rápido 0:01:09.943,0:01:11.943 el agente puede girar. 0:01:12.769,0:01:14.769 La propiedad Stopping Distance 0:01:14.769,0:01:16.769 representa la distancia desde el objetivo 0:01:16.769,0:01:19.368 de que el agente va a comenzar a des-acelerar 0:01:21.301,0:01:23.824 Auto Traverse Off Mesh Links 0:01:23.824,0:01:25.824 dicta si sí o no el agente va a 0:01:25.824,0:01:28.482 utilizar off mesh links (Enlaces Off-mesh) de manera automática. 0:01:29.328,0:01:31.328 Más información acerca de los off mesh links (enlaces off-mesh) 0:01:31.328,0:01:33.666 pueden ser encontradas en la lección vinculada abajo. 0:01:35.521,0:01:37.521 Auto Braking determina si el agente 0:01:37.521,0:01:40.128 va a frenar cuando se acerca a su destino. 0:01:40.733,0:01:43.155 Dejando esto marcado va a parar el agente 0:01:43.155,0:01:45.155 de sobre-disparar el objetivo. 0:01:46.405,0:01:48.405 Auto Repath va a permitirle al agente 0:01:48.405,0:01:50.405 re-construir su camino si 0:01:50.405,0:01:52.926 su camino actual se vuelve invalido. 0:01:53.933,0:01:57.088 La propiedad Height es la altura del agente. 0:01:57.685,0:02:00.555 El Base Offset es el desfase vertical 0:02:00.555,0:02:02.555 del collider del agente. 0:02:04.264,0:02:06.209 El Obstacle Avoidance Type 0:02:06.209,0:02:08.209 tiene varias opciones. 0:02:08.209,0:02:11.781 Entre mayor cantidad, el avoidance (evasión) es más precisa. 0:02:11.781,0:02:15.007 En cantidad menores, el avoidance (evasión) es más eficiente. 0:02:16.674,0:02:18.674 La avoidance priority (prioridad de evasión) determina qué 0:02:18.674,0:02:21.421 agentes tienen prioridad cuando navegan. 0:02:22.018,0:02:25.473 Los agentes con una alta prioridad debería tener un numero menor. 0:02:26.740,0:02:29.847 Finalmente la propiedad NavMesh Walkable 0:02:29.847,0:02:31.847 le dice al agente qué capas de 0:02:31.847,0:02:34.082 navegación pueden atravesar. 0:02:34.791,0:02:37.459 Para más información acerca de capas de navegación 0:02:37.459,0:02:41.404 ver la lección acerca de navmesh baking vinculada abajo. 0:02:42.446,0:02:44.446 Vale la pena tener en cuenta que mientras nosotros podemos 0:02:44.446,0:02:46.030 cambiar estas propiedades, 0:02:46.030,0:02:48.460 para lograr un rango grande de efectos 0:02:48.460,0:02:52.408 las propiedades default van a funcionar para la mayoría de situaciones. 0:02:53.783,0:02:55.783 Una vez el componente navmesh agent 0:02:55.783,0:02:57.783 es aplicado y configurado 0:02:57.783,0:03:00.473 nosotros solo necesitamos decirle a dónde ir. 0:03:02.699,0:03:05.366 En nuestro SampleAgentScript 0:03:05.366,0:03:07.824 nosotros podemos ver que nosotros primero declaramos una variable 0:03:07.824,0:03:12.181 de tipo NavMeshAgent llamado Agent. 0:03:13.848,0:03:17.631 En el método Start nosotros obtenemos una referencia a nuestro navmesh agent 0:03:17.631,0:03:20.092 y lo almacenamos en nuestra variable agent 0:03:20.092,0:03:23.043 utilizando la función GetComponent.[br]69[br]00:03:24,370 --> 00:03:26,846[br]Con el propósito de decirle a nuestro agente a dónde ir 0:03:26.846,0:03:29.445 nosotros utilizamos el método Set Destination 0:03:29.445,0:03:31.910 de la clase NavMeshAgent. 0:03:32.487,0:03:35.302 Éste método lee un solo vector3. 0:03:35.996,0:03:40.526 En esta instancia nosotros vamos a llamar el método SetDestination 0:03:40.526,0:03:44.807 al escribir Agent.SetDestination. 0:03:46.057,0:03:49.647 Luego en el paréntesis nosotros vamos a escribir 0:03:49.647,0:03:51.885 target.position. 0:03:52.411,0:03:54.900 Esto le dice a nuestro agente en moverse hacia 0:03:54.900,0:03:56.900 el game object objetivo. 0:03:59.066,0:04:01.829 De vuelta en Unity nosotros podemos correr nuestra escena. 0:04:02.496,0:04:05.785 Nosotros vamos a notar inmediatamente que la cápsula game object 0:04:05.785,0:04:08.343 comienza a moverse y atravesar nuestro nivel. 0:04:09.079,0:04:12.195 La capsula va a eventualmente alcanzar nuestro game object objetivo 0:04:12.195,0:04:14.195 y va a llegar a nuestra parada.