jtorp20 6 Report post Posted March 26, 2020 (edited) Buenas noches. Estoy un poco perdido con esto. Mi proyecto es un juego en tercera persona, y con el siguiente código que es parte del script del enemigo, hago que a una distancia de 10, este enemigo gire hacia mi personaje. El problema es que quiero meterle animación de giro a la derecha y a la izquierda y no se como establecer la condición para activar cada animación. ¿Con qué valores y de que variable sé, que debe girar a la derecha o a la izquierda? Quote if (Vector3.Distance(player.position, this.transform.position) < 10) { Vector3 direccion = player.position - this.transform.position; this.transform.rotation = Quaternion.Slerp(this.transform.rotation, Quaternion.LookRotation(direccion), 0.5f); } Saludos!!! Edited March 29, 2020 by pioj Por favor, usa el <> o el "quote" para pegar código. Share this post Link to post Share on other sites
iRobb 776 Report post Posted March 26, 2020 Habrá que calcular el ángulo respecto a player y this y aplicar esa diferencia para la rotation. La menor diferencia entre las dos posibles: Share this post Link to post Share on other sites
J Montes 71 Report post Posted March 26, 2020 Slerp siempre gira por el camino más corto. Share this post Link to post Share on other sites
jtorp20 6 Report post Posted March 26, 2020 Ok. Muchas gracias por las respuestas y por el vídeo. Al final parece que para calcular el angulo por el camino mas corto tengo que usar ángulos de Euler y luego pasar a hacer la rotación con quaterniones. Share this post Link to post Share on other sites