nomoregames 35 Report post Posted May 13, 2020 Buenas tardes Me e topado con algo... cuanto menos curioso, pues resulta que tengo un objeto padre y en su interior distintos cubos. En un script a parte, tengo un public GameObject, y asignado a este tengo el objeto padre. Con el script básicamente lo que hago es esto public GameObject A; void Update() { A.transform.eulerAngles = new Vector3(A.transform.eulerAngles.x, A.transform.eulerAngles.y, Mathf.LerpAngle(A.transform.eulerAngles.z, 180, 0.1f)); } Y funciona bien, menos cuando la rotación en x es 90 o -90, en ese caso, empieza a dar vueltas de forma interminable ... y no entiendo por que ocurre esto Alguna idea? Share this post Link to post Share on other sites
francoe1 536 Report post Posted May 13, 2020 @nomoregames La respuesta es bastante simple. Tanto la posición como lo rotación tienen dos formas de trabajar, Local y Global, la Global es la posición del objeto en el contexto de la escena y la local es en el contexto del padre. ¿Que quiere decir esto? El Object 1 Puede tenes la siguiente posición 100, 100, 100 y el Object 2 tendrá la posición 0, 0, 0 ambos 2 objetos se encuentran en el mismo sitio. Esto se debe a que cuando anidas (emparentas) un objeto se calcula de forma recursiva la posición de cada uno en función del valor de la posición local. Ahora, ¿Cúal es el problema en tu caso?, estás utilizando la rotación GLOBAL, la solución sería utilizar la rotación local (localEulerAngles) Te invito a participar de los Blogs, donde podrás entender estos conceptos y muchas otras cosas para aplicar a tus proyectos. UnitySpain - Blogs Share this post Link to post Share on other sites
nomoregames 35 Report post Posted May 14, 2020 Mmmm... probé con local angles, pero seguía dando vueltas, así que probé utilizando Quaternion (tal y como me recomendó el compañero @iRobb)y me funcionó Gracias a los dos 😎👍 1 Share this post Link to post Share on other sites
iRobb 776 Report post Posted May 14, 2020 Venga. Me alegro 1 Share this post Link to post Share on other sites