单击它缓慢旋转游戏对象

Rotate a GameObject slowly on click on it

我有一个要旋转 90 度的游戏对象。

如何让它顺畅旋转?

private void OnMouseDown()
{
   gameObject.transform.Rotate(new Vector3(0, 0, -90));
}

您可以使用 Coroutine 让它慢慢地动起来。

float rotationAmount = .1f;
float delaySpeed = .1f;
private void OnMouseDown(){
    StartCoroutine(SlowSpin());
}
IEnumerator SlowSpin(){
    float count = 0;
    while(count <= 90){
        gameObject.transform.Rotate(new Vector3(0, 0, rotationAmount));
        count += rotationAmount;
        yield return new WaitForSeconds(delaySpeed);
    }
}

更改第 1 行和第 2 行的变量以满足您的需要。但是,不要将 delaySpeed 设置得太高,否则你的动画会变得不稳定。