C# 沿z轴缓慢旋转对象

C# 沿z轴缓慢旋转对象,c#,unity3d,C#,Unity3d,如何在z轴上缓慢旋转对象? 我有一个角度为z=0的对象,我希望它移动到z=100。 我该怎么做才能让它在5秒内缓慢旋转 public Vector3 rotationDirection; public float durationTime; private float smooth; void Update() { smooth = Time.deltaTime * durationTime; transform.R

如何在z轴上缓慢旋转对象? 我有一个角度为z=0的对象,我希望它移动到z=100。 我该怎么做才能让它在5秒内缓慢旋转

    public Vector3 rotationDirection;

    public float durationTime;
    private float smooth;

      void Update()
    {
        smooth = Time.deltaTime * durationTime;
        transform.Rotate(rotationDirection * smooth);
    }

旋转方向应在0,0,0到0,0,20之间,但到达角度后旋转不会停止。当它达到0,0,20时,我如何停止它?

使用四元数。旋转方向完成工作

void Update()
{

Vector3 direction = new Vector3(0, 0, 20);
Quaternion targetRotation = Quaternion.Euler(direction);
transform.rotation = Quaternion.RotateTowards(transform.rotation, targetRotation, Time.deltaTime * 20f);

}

你试过什么?你有什么问题?你已经有什么代码了?很抱歉我还没有尝试任何东西。在线旋转只是面向其他对象,而不是从一个角度移动到另一个角度。我不得不建议你谷歌的技能很低,因为旋转对象在很多地方都有。这些:谢谢你,我现在更新了我的代码