rotate object 0 to 90 with speed 1 then wait then 90 to 0 degree with 1 speed unity c#
i want to Rotate my object 0 to 90 degree with 1 speed --> then wait for 3 Sec ---> Then Rotate again 90 to 0 degree with 1 speed --> Then wait for 3 sec
i need above process in loop
i m success with it but it working only 1 time in Start Function
In update function its not working
below my Start Function code
IEnumerator Start()
{
StartCoroutine( RotateMe1(Vector3.forward * 90f, 1f));
yield return new WaitForSeconds(3);
StartCoroutine(RotateMe2(Vector3.forward * 0f, 1f));
yield return new WaitForSeconds(3);
}
IEnumerator RotateMe1(Vector3 byAngles1, float inTime1)
{
var fromAngle1 = transform.rotation;
var toAngle1 = Quaternion.Euler(transform.eulerAngles + byAngles1);
for (var t = 0f; t < 1; t += Time.deltaTime / inTime1)
{
transform.rotation = Quaternion.Lerp(fromAngle1, toAngle1, t);
yield return null;
}
}
IEnumerator RotateMe2(Vector3 byAngles2, float inTime2)
{
var fromAngle2 = transform.rotation;
var toAngle2 = Quaternion.Euler(transform.eulerAngles + byAngles2);
for (var t = 0f; t < 1; t += Time.deltaTime / inTime2)
{
transform.rotation = Quaternion.Lerp(fromAngle2, toAngle2, t);
yield return null;
}
}
Below my Update Function code
void Update()
{
StartCoroutine(RotateMe1(Vector3.forward * 90f, 1f));
StartCoroutine(Wait());
StartCoroutine(RotateMe2(Vector3.forward * 0f, 1f));
StartCoroutine(Wait());
}
IEnumerator RotateMe1(Vector3 byAngles1, float inTime1)
{
var fromAngle1 = transform.rotation;
var toAngle1 = Quaternion.Euler(transform.eulerAngles + byAngles1);
for (var t = 0f; t < 1; t += Time.deltaTime / inTime1)
{
transform.rotation = Quaternion.Lerp(fromAngle1, toAngle1, t);
yield return null;
}
}
IEnumerator RotateMe2(Vector3 byAngles2, float inTime2)
{
var fromAngle2 = transform.rotation;
var toAngle2 = Quaternion.Euler(transform.eulerAngles + byAngles2);
for (var t = 0f; t < 1; t += Time.deltaTime / inTime2)
{
transform.rotation = Quaternion.Lerp(fromAngle2, toAngle2, t);
yield return null;
}
}
IEnumerator Wait()
{
yield return new WaitForSeconds(3);
}
Here i recorded Video for issue of Update Function
i attached above script on AXE in attached above Video
PLease help me
Your answer
Follow this Question
Related Questions
have one object rotate another object on the y axis 0 Answers
How come when I rotate my spaceship, it also rotates on the two other axis's? Please help? 0 Answers
constant rotation using keypress 0 Answers
Rotating object relative to player to orient it center of camera regardless of direction. 0 Answers
What is lerpSpeed? 0 Answers