【发布时间】:2014-12-06 21:50:20
【问题描述】:
我正在尝试在 Unity 中制作一个 2D“幽灵对象”,它会移动到玩家的鼠标位置(捕捉到网格时)并在鼠标滚轮旋转时旋转。当玩家点击时,它会在其位置创建“真实对象”。 问题是当我开始旋转物体时,它会变得莫名其妙地不稳定,并最终在达到无穷大之前飞出屏幕。不旋转时,它的表现完美。
由于无论方向如何运动代码都应该工作,我不知道它为什么会飞出屏幕。
相关代码(C#):
Vector3 rawPos = cam.ScreenToWorldPoint (Input.mousePosition);
transform.Rotate(0,0,50*Input.GetAxis ("Mouse ScrollWheel"));
Vector3 targetPos = new Vector3 (Mathf.RoundToInt(rawPos.x),Mathf.RoundToInt(rawPos.y),10);
transform.Translate (targetPos-transform.position);
这可能是显而易见的,但我对此还是有点陌生。 提前感谢您的帮助。
编辑:我想我应该注意到这发生在 FixedUpdate 中。
【问题讨论】:
标签: c# unity3d rotation transform infinity