📜  unity 如何改变旋转 - C# (1)

📅  最后修改于: 2023-12-03 15:35:30.850000             🧑  作者: Mango

Unity 如何改变旋转 - C#

在 Unity 中,我们可以通过 C# 代码来改变对象的旋转。下面是一些示例代码。

通过 Rotate 方法改变旋转

Rotate 方法是一种旋转游戏对象的方法。它接受四个参数:一个表示绕着哪个轴旋转的向量,以及绕着该轴旋转的角度。例如,以下代码将在每一帧中绕着 x 轴旋转 1 度:

void Update()
{
    transform.Rotate(new Vector3(1, 0, 0), 1);
}
直接改变旋转的值

我们还可以直接改变对象的旋转值。Quaternion 类型表示旋转,并且有很多有用的方法。以下代码将在每一帧中绕着 x 轴旋转 1 度:

void Update()
{
    Quaternion rotation = transform.rotation;
    rotation *= Quaternion.Euler(1, 0, 0);
    transform.rotation = rotation;
}
修改特定的旋转值

如果我们只想修改某个轴的旋转值,我们可以这样做:

void Update()
{
    Vector3 rotation = transform.eulerAngles;
    rotation.x += 1;
    transform.eulerAngles = rotation;
}

这将在每一帧中绕着 x 轴旋转 1 度。注意,我们将 transform.eulerAngles 赋值回去,而不是 transform.rotation,因为前者只会更改特定轴的旋转,而后者会更改所有轴的旋转。

总结

以上是 Unity 中通过 C# 代码改变旋转的几种方式。这只是冰山一角,有很多其他的方法和技巧可以用来控制旋转。详见 Unity 官方文档