美文网首页
鼠标拖动物体移动

鼠标拖动物体移动

作者: pawn_c | 来源:发表于2019-07-21 13:28 被阅读0次

    简单来说,项目需要用鼠标点击物体然后拖动物体移动。
    一开始我想到的方法是:
    把鼠标的屏幕坐标转换为世界坐标,在让物体跟着移动,代码如下:

    Vector3 position = Camera.main.ScreenToWorldPoint(Input.mousePosition);
    targetObj.transform.position = new Vector3(position.x, targetObj.transform.position.y, position.z);
    

    一顿操纵后发现物体并没有移动,尴尬。。。。
    直到网上看到大佬:直接转换的鼠标位置,是只有X、Y轴,唯独缺了Z轴,所以要把需要跟随物体的Z轴赋予给鼠标屏幕位置,然后再进行转换世界坐标,才能做到效果。
    于是:

     Vector3 screenPos = Camera.main.WorldToScreenPoint(targetObj.transform.position);
     Vector3 mousePos = Input.mousePosition;
     mousePos.z = screenPos.z;
     Vector3 worldPos = Camera.main.ScreenToWorldPoint(mousePos);
     targetObj.transform.position=worldPos;
    

    感谢大佬https://www.jianshu.com/p/a2ab69756cc7

    相关文章

      网友评论

          本文标题:鼠标拖动物体移动

          本文链接:https://www.haomeiwen.com/subject/phbmlctx.html