当用户按下upArrow时,我想用Quaternion.Lerp将对象旋转90度。但每次旋转后我都可以看到它不会将我的物体正好旋转90度。大约88度旋转。问题是什么?我该如何解决这个问题?
if (Input.GetKeyDown(KeyCode.UpArrow))
{
to.eulerAngles = transform.eulerAngles + new Vector3(90, 0, 0);
from.eulerAngles = transform.eulerAngles;
direction = "up";
}
if("up".Equals(direction))
transform.rotation = Quaternion.Lerp(from, to, Time.deltaTime*10);
if (transform.eulerAngles==to.eulerAngles)
{
direction = "";
}
答案 0 :(得分:2)
这太奇怪了。
刚刚添加
<div id="box">
<div id="tri"></div>
Some text
</div>
到
transform.eulerAngles = transform.eulerAngles;
并解决了。我认为Unitys Transform系统不是那么敏感,我在日志中测试它,甚至它在日志上的旋转大约是88,在检查器中它是90.所以我添加了这个代码并且它完成了。