Unity中的旋转通常可以用Transform 直接控制 和 rotation 控制两种方式。
一、Transform控制(工程中的scene1)
1.1 Transform.Rotate
旋转某个角度
函数定义
public void Rotate(Vector3 eulerAngles);
public void Rotate(Vector3 axis, float angle);
public void Rotate(Vector3 eulerAngles, Space relativeTo);
public void Rotate(float xAngle, float yAngle, float zAngle);
public void Rotate(Vector3 axis, float angle, Space relativeTo);
public void Rotate(float xAngle, float yAngle, float zAngle, Space relativeTo);
这个函数通常用于Update函数中,用于不断的旋转。如下
void Update () {
//以每秒rotateSpeed的速度绕着y轴旋转
transform.Rotate(0, rotateSpeed * Time.deltaTime, 0);
}
1.2 Transform.RotateAround
以某点为中心旋转。
函数定义
public void RotateAround(Vector3 axis, float angle);
public void RotateAround(Vector3 point, Vector3 axis, float angle);
这个函数通常也在Update中,不断地围绕着点运动。如下:
void Update ()
{
//在Y轴以每秒rotateSpeed的速度围绕着transformCenter 旋转。
//这会改变物体的位置和旋转。
transform.RotateAround(transformCenter.position,Vector3.up,rotateSpeed * Time.deltaTime);
}
1.3 Transform.eulerAngles