【问题标题】:Object flies off to infinity after rotation物体旋转后飞到无穷远
【发布时间】: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


    【解决方案1】:

    通过改变解决了问题

    transform.Translate 
    

    transform.position = targetPos
    

    同样有效。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-13
      相关资源
      最近更新 更多