这是我正在尝试做的简化代码:
var angle = 1.57;
if ( this.transform.rotation.y > angle ){
this.transform.rotation.y--;
} else if ( this.transform.rotation.y < angle ){
this.transform.rotation.y++;
}
我习惯于在 AS3 中编写代码,如果我在 Flash 中编写代码,它可以完美运行,但在 Unity3D 中却没有,而且我很难弄清楚原因,或者我如何才能获得这种效果。
有谁能够帮助我?谢谢!
编辑:
我的对象是一辆带有 2 个胶囊对撞机的刚体汽车,在“崎岖不平”的地板上行驶,在某些时候他只是失去了方向精度,我认为这是因为它是分层旋转系统。
(感谢 kay 的 transform.eulerAngles 提示)
最佳答案
transform.rotation
检索 Quaternion .试试 transform.rotation.eulerAngles.y
反而。
关于Unity3D 中的旋转,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9319512/