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

鼠标拖动物体移动

作者: 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

相关文章

  • 鼠标拖动物体移动

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

  • Unity3d-OnMouseAPI之选择物体,移动物体。

    一、简单的场景 二、鼠标移向物体、选中、点击、移动、离开。 1、鼠标移向物体 2、鼠标选中物体首先移向物体 然后选...

  • Javascript知识整理——拖放

    拖放事件 拖动某元素时,将依次触发下列事件(被拖动元素): dragstart按下鼠标并开始移动鼠标时在被拖动元素...

  • html5

    1、拖拽事件 (1)概念具有拖动物体、投放区两个注意点。 (2)拖动物体事件(关注鼠标动作) ondragstar...

  • 鼠标拖动物体

    using System.Collections; using System.Collections.Generi...

  • Unity物体跟随鼠标拖动

  • Target Joint 2D 目标关节

    相对关节的简化版,刚体会以弹簧的行为移动到Target点。用作鼠标点击物体拖动到一个其他点的效果。

  • 鼠标拖动物体(物体旋转)

    、、、using System.Collections;using System.Collections.Gene...

  • Maya(五) 基本工具操作与选择技巧

    移动、旋转、缩放移动,快捷键W轴向介绍 鼠标中键拖动中间的黄色方块可以整体移动,拖动某个轴向可以在这个轴向上移动旋...

  • unity 鼠标拖动物体

    这个直接加到被拖动的对象上即可使用 基于这套理论的unity 开源框架(我在维护,有线上产品) 仓库地址 http...

网友评论

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

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