Algunos casos de uso para Off-Mesh Links pueden ser detectados automáticamente. Los dos más comunes son: Drop-Down (Caída) y Jump-Across (Saltar a través de).
Los enlaces Drop-Down son creados para caer de una plataforma.
Los enlaces Jump-Across son creados para saltar a través de una grieta-hueco.
Con el fin de encontrar las ubicaciones de salto automáticamente, el proceso de construcción camina a lo largo de los bordes del NavMesh y revisa si la ubicación de aterrizaje del salto está en el NavMesh. Si la trayectoria del salto no es obstruida, un Off-Mesh link es creado.
Configuremos la generación automática de Off-Mesh link. Si usted no está familiar con el NavMesh baking, echemos un vistazo a Building a NavMesh.
Primero, el objeto en la escena dónde el salto puede start from (comenzar desde) necesita ser marcado. Esto es hecho al marcar la opción Generate Off-Mesh Links en la Navigation Window bajo la pestaña Objects.
El segundo paso es configurar las trayectorias drop-down (caida) y jump-across (salto a través de):
La generación del enlace Drop-Down es controlada por el parámetros Drop Height. El parámetro controla lo que es la caída más alta que será conectada, configurando el valor a 0 v aa desactivar la generación.
La trayectoria del enlace drop-down es definida para que el viaje horizontal (A) sea: 2*agentRadius + 4*voxelSize. Esto es, la caída va a aterrizar justo después del borde de la plataforma. En adición el viaje vertical (B) necesita ser más que la Step Height de los ajustes bake (de lo contrario simplemente sería un paso para abajo) y menos que la Drop Height. El ajusto por tamaño voxel es hecho para que cualquier ronda de errores durante la voxelización no previene los enlaces siendo generados. Usted debería configurar la Drop Height a un valor mucho mayor que el usted midió en su nivel, para que los enlaces se conecten apropiadamente.
La generación del enlace Jump-Across es controlado por el parámetro Jump Distance. El parámetro controla cuál es la distancia más lejana que será conectada. Al configurar este valor a 0 va a desactivar la generación.
La trayectoria del enlace jump-across es definida para que el viaje horizontal (C) es más que 2*agentRadius y menos que la Jump Distance (Distancia de salto). En adición, la ubicación de aterrizaje (D) no debe ser mayor que la voxelSize del nivel de la ubicación de inicio.
Ahora esos objetos están marcados, y las configuraciones ajustadas, y es tiempo de presionar Bake y usted tendrá que automáticamente generar Off-mesh links! Cuando sea que usted cambie la escena y el bake, los enlaces viejos serán descartados y los nuevos enlaces serán creados basados en la nueva escena.
Resolución de Problemas
Cosas para tener en cuenta si los Off-Mesh links no son generados en ubicaciones dónde usted espera que estén:
El Drop Height debería ser un poco mayor que la distancia actual medida en su nivel. Esto asegura que las pequeñas desviaciones que suceden durante el proceso del NavMesh baking no va a prevenir que el enlace sea conectado.
La Jump Distance debería ser un poco más larga que la distancia actual medida en su nivel. La Jump Distance es medida de una ubicación de un NavMesh a otra ubicación en el NavMesh, lo que significa que usted debería agregar 2*agentRadius (más un poco) para asegurarse que las grietas son cruzadas.