cseliteZX 1 Report post Posted August 16, 2020 El problema que realmente tengo es que necesito, por decirlo asi, que mi objeto si por ejemplo estuviera a 75 grados regrese a 0 grados de manera no brusca ¿Tienen alguna idea para esto? Share this post Link to post Share on other sites
paio458 1 Report post Posted August 17, 2020 Hola, deberias utilizar Vector3.Lerp 1 Share this post Link to post Share on other sites
Igor 337 Report post Posted August 17, 2020 vector3.Lerp lo usarias para eulerAngles, pero te va a dar problemas... porejemplo si el objeto esta en -10 grados (350 grados) va a dar toda la vuelta por el otro lado, recorriendo 350 grados en vez de ir por el lado corto rexorriendo 10 grados. tambien te dara problemas si el angulo Z es diferente de 0.... mejor usa Quaternion.Lerp. Quaternion rotActual = transform.rotation; transform.eulerAngles = new Vector3(0,0,0);//rotacion deseada transform.rotation = Quaternion.Lerp(rotActual, transform.rotation, 0.1f); //0.1f seria la "velocidad" a la que va hacia la rotacion deseada 1 Share this post Link to post Share on other sites
iRobb 776 Report post Posted August 17, 2020 Y multiplica la velocidad por Time.deltaTime 1 Share this post Link to post Share on other sites
Igor 337 Report post Posted August 17, 2020 30 minutes ago, iRobb said: Y multiplica la velocidad por Time.deltaTime si, asi mejor Share this post Link to post Share on other sites
cseliteZX 1 Report post Posted August 17, 2020 2 hours ago, Igor said: vector3.Lerp lo usarias para eulerAngles, pero te va a dar problemas... porejemplo si el objeto esta en -10 grados (350 grados) va a dar toda la vuelta por el otro lado, recorriendo 350 grados en vez de ir por el lado corto rexorriendo 10 grados. tambien te dara problemas si el angulo Z es diferente de 0.... mejor usa Quaternion.Lerp. Quaternion rotActual = transform.rotation; transform.eulerAngles = new Vector3(0,0,0);//rotacion deseada transform.rotation = Quaternion.Lerp(rotActual, transform.rotation, 0.1f); //0.1f seria la "velocidad" a la que va hacia la rotacion deseada Gracias, me sirve la explicación, me hacia falta eso 😃 2 hours ago, iRobb said: Y multiplica la velocidad por Time.deltaTime Yo la verdad es que uso void FixedUpdate() pues funciona de manera muy similar, solo que se aplica a todos los valores. Share this post Link to post Share on other sites
iRobb 776 Report post Posted August 17, 2020 5 minutes ago, cseliteZX said: Gracias, me sirve la explicación, me hacia falta eso 😃 Yo la verdad es que uso void FixedUpdate() pues funciona de manera muy similar, solo que se aplica a todos los valores. Fixed Update se utiliza para lo relacionado con Physics (rigidbody). No para transforms. https://docs.unity3d.com/ScriptReference/MonoBehaviour.FixedUpdate.html Share this post Link to post Share on other sites
cseliteZX 1 Report post Posted August 17, 2020 1 hour ago, iRobb said: Fixed Update se utiliza para lo relacionado con Physics (rigidbody). No para transforms. https://docs.unity3d.com/ScriptReference/MonoBehaviour.FixedUpdate.html cierto, se me olvidaba eso Share this post Link to post Share on other sites