物体旋转
调置旋转角度时,一般使用 localEulerAngles ,而不是 rotation
给物体调转一个旋转角度。
1、 Quaternion 四元组 ( x, y, z, w )
transform.rotation = ... 不便操作,官方不建议使用
2、欧拉角 Euler Angle
transform.eulerAngles = new Vector3(0, 45, 0) ;
transform.localEulerAngles = new Vector3(0, 45, 0) ;
以下几个角度效果相同:
transform.eulerAngles = new Vector3(0, 45, 0);
transform.eulerAngles = new Vector3(0, 405, 0); // 45 + 360
transform.eulerAngles = new Vector3(0, -315, 0); // 45 - 360
旋转
在Update() 修改角度,持续旋转
Vector3 angles = transform.localEulerAngles;
angles.y += 0.5f;
transform.localEulerAngles = angles;
优化,使之匀速旋转,
float rotateSpeed = 30 ; // 每秒转30度角
相对旋转
gameObject.transform.Rotate(0, 0.5f, 0, Space.Self);