Untiy使一个物体沿轴移动它的移动

时间:2016-02-02 18:17:31

标签: c# unity3d rotation quaternions

我想制作一个物体(让我们说一个立方体),在它正在移动的同一轴上以稳定的速度旋转。因此,如果它将方向从X改变为Z,那么旋转将从X轴向Z轴倾斜,然后继续在Z轴上旋转。

我将如何实现这一目标?这就是我现在所拥有的,立方体在z轴上来回旋转一定程度。

public float Angle;
public float Period;

void Update()
{
    Animate();
}

void Animate()
{
    _time = _time + Time.deltaTime;
    float phase = Mathf.Sin(_time / Period);
    transform.localRotation = Quaternion.Euler(new Vector3(0f, 0f, phase * Angle));
}

1 个答案:

答案 0 :(得分:2)

只需使用

RotateAround

注意通常不会出于任何原因使用Quaternion。

使用RotateAround有1000多个问题,所以只是谷歌。在你的情况下,听起来你正在改变(无论如何)旋转轴本身。