初始:没有父物体
Rotation(0,30,0)
旋转30°
***********************************************************************************************************************************
初始:有父物体
子物体Rotation(0,30,0)
父物体Transform
子物体Transform
打印结果:
旋转30°,打印结果
**********************************************************************************************************************************************
初始:Rotation(0,0,0)
void Start () {
//transform.rotation = Quaternion.Euler(0, 30, 0);
//transform.rotation = Quaternion.AngleAxis(30, Vector3.up);
//transform.localRotation = Quaternion.Euler(0, 30, 0);
//transform.Rotate(0, 30, 0);
}
结果:均绕Y轴旋转30°
*******************************************************************************************************************************************
初始:Rotation(0,30,0)
void Start () {
//transform.rotation = Quaternion.Euler(0, 30, 0);
//旋转不变
//transform.rotation = Quaternion.AngleAxis(30, Vector3.up);
//旋转不变
//transform.localRotation = Quaternion.Euler(0, 30, 0);
//旋转不变
transform.Rotate(0, 30, 0);
//旋转变为(0,60,0)
}
总结:transform.rotation = Quaternion.Euler(0, 30, 0);
transform.rotation = Quaternion.AngleAxis(30, Vector3.up);
transform.localRotation = Quaternion.Euler(0, 30, 0);
以上方法均适用,确定旋转角度,然后进行旋转(0,45,0)即旋转到(0,45,0)
transform.Rotate(0, 30, 0);
此方法适用,再原本的基础上进行改变初始(0,15,0),经过方法,得到(0,45,0)
****************************************************************************************************************************************
父物体(0,30,0)子物体(0,0,0)
父物体(0,30,0)子物体(0,30,0)
********************************************************************************************************************************
初始:父物体(0,30,0)子物体(0,0,0)
void Start () {
//transform.rotation = Quaternion.Euler(0, 30, 0);
//旋转不变(0,0,0)
//transform.rotation = Quaternion.AngleAxis(30, Vector3.up);
//旋转不变(0,0,0)
}
总结,上述两种方法是以世界坐标确定的旋转,(0,30,0)是相对世界坐标下的,所以位置不会改变
void Start () {
//transform.localRotation = Quaternion.Euler(0, 30, 0);
//旋转变为(0,30,0)
//transform.Rotate(0, 30, 0);
//旋转变为(0,30,0)
}
总结,上述方法是以自身坐标系确定的旋转