美文网首页多媒体和建模
【Unity3D】使用鼠标控制物体在世界坐标中移动

【Unity3D】使用鼠标控制物体在世界坐标中移动

作者: 壹米玖坤 | 来源:发表于2017-03-03 20:49 被阅读1008次

public class Move : MonoBehaviour {

     public GameObject cube;  //要拖拽的物体

    Vector3 mouseV3;    //鼠标

    Vector3 screeenV;  //存储cube的屏幕坐标

    Vector3 world;    //记录鼠标坐标转成的世界坐标

void Update() {

if (Input.GetMouseButtonDown(0)) {

              //当鼠标第一次单击时记录下cube在场景中的坐标,并把世界坐标转成屏幕坐标

            screeenV= Camera.main.WorldToScreenPoint(cube.transform.position);

}

if (Input.GetMouseButton(0)){

                    mouseV3 = Input.mousePosition;  //当鼠标移动时记录下鼠标的坐标

                   mouseV3.z = screeenV.z;  //因为鼠标的z坐标为0,所以需要一个z坐标

                  //把鼠标的屏幕坐标转换成世界坐标

                  world = Camera.main.ScreenToWorldPoint(mouseV3);

                 //当鼠标移动时,cube也发生移动,为了让cube的y轴不发生移动,设y轴为原来的y轴

                  cube.transform.position = new Vector3(world.x, cube.transform.position.y, world.z);

                 print(cube.transform.position);

         }

   }

}

相关文章

  • 【Unity3D】使用鼠标控制物体在世界坐标中移动

    public class Move : MonoBehaviour { public GameObject c...

  • 在unity中实现鼠标拖动物体移动

    主要步骤 得到物体屏幕坐标的Z值 物体由世界坐标转为屏幕坐标 得到鼠标的世界坐标(Z值是物体的屏幕坐标) 鼠标三维...

  • 鼠标拖动物体移动

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

  • WebGL(日常疑惑)

    物体绕世界坐标系旋转(three.js) 物体绕世界坐标系旋转

  • 在unity中用鼠标控制控制物体旋转

    功能大概是这个样子的,用鼠标的上下、左右移动来控制unity中某个物体的左右、上下转转。 transform.Ro...

  • 无标题文章

    刚刚发现了一个UNITY3D中物体移动比较齐全的方法,借鉴的,希望对大家都有所帮 unity3d中控制物体移动方法...

  • unity3d问题集 <3> 对Physics.Ra

    在游戏中,我们常常要用到鼠标来控制物体的移动或是鼠标拾取某个物体。还有射击游戏里,子弹打中靶子......这些都需...

  • 二维渲染流程

    物体的摆放问题: 即将物体从本地坐标系转换到世界坐标系需要使用世界变化矩阵(物体自身的旋转缩放平移或组合矩阵) 物...

  • UNITY 代码段 合集

    如何用鼠标控制物体跟随: gameObject.transform.position=Camera.main.Sc...

  • untiy中的坐标系

    坐标系分为世界坐标和局部坐标 1.世界坐标即为物体与相机之间的相对位置2.局部相对坐标。如果有子物体的话,子物体的...

网友评论

    本文标题:【Unity3D】使用鼠标控制物体在世界坐标中移动

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