📅  最后修改于: 2023-12-03 15:35:30.850000             🧑  作者: Mango
在 Unity 中,我们可以通过 C# 代码来改变对象的旋转。下面是一些示例代码。
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 官方文档。