如何在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);
}
rotationDirection应该在(0,0,0)到(0,0,20)之间,但是到达角度后旋转不会停止。当达到(0,0,20)时如何停止?
答案 0 :(得分:2)
使用Quaternion.RotateTowards完成了这项工作。
void Update()
{
Vector3 direction = new Vector3(0, 0, 20);
Quaternion targetRotation = Quaternion.Euler(direction);
transform.rotation = Quaternion.RotateTowards(transform.rotation, targetRotation, Time.deltaTime * 20f);
}