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.
Quizás no sea problema del NavMeshAgent.
Y primero busca en internet. Por ejemplo en mi sitio web encontraras cosas relacionada con pathfinding, pero eso lo hice cuando la edición free no podía incorporar el navmeshagent.
Lo mejor sería que subieras el proyecto, para verlo con más detalle.
A* esa seria la única alternativa viable, aun que ahora, Unity 5 tiene absolutamente todo gratis, entonces dependiendo del juego que estés armando, si es un FPS con la navegación por malla te quedaría perfecto.
bueno ya resolvi el problema pero gracias por la ayuda gente ,pero a hora tengo otro que es salta un enemigo y bueno y los demás saltan pero solo hacia arriba
no se mueven hacia los lados.
este codigo donde estoy probando el salto
else if (salto == true)
{
agent.Stop (true);
AtaqueLibiano.enabled = false;
movimientoLibiano.enabled = false;
//agent.enabled = false;
rigidbody.velocity = new Vector3 (0, -rigidbody.velocity.y, 0);
int contadorSalto = 0;
//if (contadorSalto == 0) {
//agent.updatePosition = true;
//agent.updateRotation = true;
// rigidbody.AddForce (transform.up * 200);
rigidbody.velocity = new Vector3(2,2,0);
// contadorSalto = 1;
//}
//rigidbody.velocity = new Vector3(10,10,0);
//rigidbody.AddForce(transform.up*700);
}
else if (salto == false && suelo == true)
{
agent.Stop (true);
//rigidbody.AddForce (transform.up * -100);
rigidbody.velocity = new Vector3(2,-2,0);
}
[/quote]
como haré para actualizar al enemigo es un <a data-ipb="nomediaparse" data-cke-saved-href="http://es.wikipedia.org/wiki/Beat_" href="http://es.wikipedia.org/wiki/Beat_" em_up"="">Beat 'em up .
solucion a al problema de movimiento
if(transform.localScale.x < 0)
{
rigidbody.velocity = new Vector3(0,2,0);
rigidbody.AddForce (transform.right * 200);
}
else if(transform.localScale.x > 0)
{
rigidbody.velocity = new Vector3(0,2,0);
rigidbody.AddForce (-transform.right * 200);
}