在使用欧拉角控制cube旋转时,x轴角度被限制在-90°~90°之间,即万向节锁。如代码所示:
rota_x = cube.GetComponent<Transform>().localEulerAngles.x;
rota_y = cube.GetComponent<Transform>().localEulerAngles.y;
rota_z = cube.GetComponent<Transform>().localEulerAngles.z;
cube.GetComponent<Transform>().localEulerAngles = new Vector3(rota_x, rota_y, rota_z);
为避免这种现象发生,使用四元数的方式控制cube的旋转
cube.transform.rotation *= Quaternion.Euler(0, rota_add, 0);
//rota_add为相应轴的旋转角度
版权声明:本文为huahhh原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。