Jump to content

Search the Community

Showing results for tags 'navmeshagent'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • General
    • Proyectos
    • Offtopic
    • Unity Feeds
    • Website
    • Youtube
  • Mesa de ayuda
    • Unity
    • Arte
    • Builds & Dispositivos
    • Otras Especialidades
  • Aportes de la Comunidad
    • Recursos
    • Eventos
  • Bolsa de trabajo & Colaboraciones
    • Ofertas y Demandas
  • Post Antiguos
    • General (Antiguo)

Blogs

There are no results to display.

There are no results to display.


Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Especialidad

Found 5 results

  1. tengo un par de problemas con un script, ya que yo usaba solo JS se me dificulta un poco el hacer ciertas cosas en C# El Objertivo esta en el Update, ya que se van a estar instanciando varios enemigos durante la escena, quiero que detecte a todos en cada momento, al guardarlos en una lista (Array [ ]), no me deja ponerlos como el objetivo, ya qu e sale un error de convercion a transform o position. como puedo hacer que en la lista, ejemplo: 3 enemigos (Enemigo 0, Enemigo1, Enemigo 2) me detecte el que esta mas cerca y vaya tras el, y no que se vaya por el ultimo de la lista te muestro este script: //Estadisticas public int Salud = 100; public int Velociad = 2; //Componentes public UnityEngine.AI.NavMeshAgent Agente; //Enemigos public Transform Objetivo; GameObject Obj; //Funciones void Update () { Objetivo = GameObject.FindGameObjectWithTag("Humano").transform; if (Obj == null) { Debug.Log ("Ganaste"); } Agente.destination = Objetivo.position; } void OnTriggerEnter (Collider otro) { if (otro.tag == "Humano") { Obj = otro.gameObject; } } Asi como esta el Script busca al ultimo creado, pero esta hasta el fondo, pasa a travez de todos para atacar al que esta mas escondido, algo ilogico. Espero me haya explicado y puedas entenderme y ayudarme, estoy estancado con eso desde hace mucho.....
  2. Buenas, el caso es que quiero conseguir que el enemigo, en vez de perseguirme huya de mi. Estoy usando un navmeshagent, y ya tengo la distancia para conmigo, consigo que me siga, pero no que huya y no encuentro nada por google :/
  3. Buenas gente, alguien tiene conocimientos sobre el avoidance del NavMesh de Unity? Y hasta que punto es factible su implementacion? Ya que no funciona adecuadamente o no lo estoy configurando como tal, por ejemplo al tener 'setDestination' iguales en diferentes unidades sucede esto; y no completan el Path, como se ve en la imagen. Ademas de no realizar el local avoidance entre unidades correctamente. Ya probé varias configuraciones y hasta la utilización de NavMeshObstacule. No tengo muchas referencias sobre este componente y no se si hay que implantarlo aparte. Por las dudas la versión que utilizo es la 5.2.2f1 Saludos y gracias.
  4. Buenas noches. Con el Unity 5, todo lo que tenía hecho en RAIN se me fue al traste, T_T pero bueno, no pasa nada, he estado re-haciendo la IA de los enemigos con el nav mesh de Unity 5, la mayoría de las funciones ya están implementadas, y estoy intentando pues resolver problemas, pero este no consigo dar con la tecla. @_@ Resulta que los enemigos, cuando van persiguiendo al jugador, se atascan en algunos puntos, del escenario, parece que principalmente en los bordes, que no caen. El escenario, tiene su Navmesh preparado con una serie de Off-Mesh links generados automáticamente para que un enemigo salte a una zona inferior para seguir con la persecución o el paseo. Suele funcionar, pero en este ejemplo, con 10 enemigos en tropa siguiéndome, no todos pasan la prueba, con frecuencia, algunos se van quedando por el camino. He revisado el código, pero tampoco no veo el error, vemos, el enemigo tiene una serie de estados, y algunos de ellos ordena al enemigo que se mueva, eso lo hace llamando a esta función: pic 1: https://yadi.sk/i/8vJfVHmKigUXZpic 2: https://yadi.sk/i/wrIBwQEkigUYCpic 3: https://yadi.sk/i/6MPpI_dIigUYa void MoveTo(Vector3 destination, bool aim, Vector3 lookPos) { agent.transform.position = transform.position; //Le dice al NavMeshAgent cual es su posición actual. agent.destination = destination; //Le dice cual es el destino, (que es una posición que entra en la función). Vector3 velocity = agent.desiredVelocity * 0.5f; //con el destino, el NavMeshAgent crea una velocidad y dirección, desiredVelocity. //la reduzco un poco que sale muy larga. charMove.Move (velocity,aim,lookPos); //Y la mando a mi character controller que es quien mueve el personaje. }Del character controller no tengo dudas, exactamente ese mismo código es el que uso para mover a mi personaje, con la diferencia de que en el personaje, es el script de "inputs" quien decide la dirección (en base a las teclas que esté pulsando y la posición de la cámara), como esto es un enemigo que se mueve sólo, esa dirección en teoría la coge del NavMeshAgent. El character controller es básicamente el 3rd player controller del estandar de Unity, sólo que con modificaciones por doquier @_@, pero dudo que esté el error por ahí, el personaje sube y baja perfectamente, Poniendo un print (gameObject + " " + velocity); puedo ver la velocidad que el navMesh agent le da a esos enemigos atascados, y parece acertada. (no es 0, es 0,5 en una dirección, otro con un 1.5f en otra, lo que explica que esté corriendo contra el borde), pero el caso es que de ahí, no se mueven. Si en vez de NavMesh, le digo al enemigo que siga al jugador a lo básico (Vector3 velocity = EnemyToAttack.transform.postion - transform.position; ) todos van como posesos a por el jugador en línea recta, escalando y cayéndose como es debido, de modo que la cosa tiene que ser algo del Nav Mesh. @_@ He probado aumentar la velocidad angular, reducir el radio, aumentar el radio, también he probado en el Nav Mesh de la zona, modificar el radio de ahí, para que genere más o menos Off-Mesh links (esos nodos que salen en el borde para indicar al enemigo que puede contar esa bajada para hacer su camino). pero en fin, se mis pequeños se quedan perdidos por ahí. ¿Alguien sabe cómo solucionar esto? algunos atascos en algunos pequeños escalones, es algo fácil de evitar, pero teniendo al enemigo que no puede bajar ningún desnivel, pues es un handicap. :S
  5. Hola llevo un tiempo trabajando con este elemento NavMeshAgent pero me he dado cuenta que me genera mucho conflicto para con el box collider pues hacer que lo detectores y demaces se vuelvan muy ineficientes les agradecería que me dieran una alternativa para hacer que mi enemigo siga a mi jugador, sin hacer que el enemigo rote, les agradecería una alternativa este componente, muchísimas gracias.
UnitySpain © Todos los derechos reservados 2020
×
×
  • Create New...