多语言展示
当前在线:129今日阅读:2今日分享:38

unity3d物体移动到鼠标点击位置

在游戏中我们经常会鼠标点击后人物就会移动要鼠标点击的位置,在unity3d要实现这样的效果需要先获得鼠标点击处的世界坐标位置,然后移动到这个位置。
工具/原料

unity3d

方法/步骤
1

打开unity3d创建一个立方体。

2

接着创建一个'Move'脚本。

3

定义一个finish保存是否移动状态,pos目标位置,获得鼠标点击处的地面Terrain的世界坐标。if(Input.GetMouseButtonDown(0)) { Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit hit = new RaycastHit(); if (Physics.Raycast(ray, out hit)) { if (hit.collider.name == 'Terrain') { pos = hit.point; finish = false; } } }

4

通过以下的脚本移动到鼠标点击的pos位置。 if(!finish) { Vector3 offset = pos - transform.position; transform.position += offset.normalized * 20 * Time.deltaTime; if(Vector3.Distance(pos, transform.position)<1f) { transform.position = pos; finish = true; } }

5

把move脚本放在物体上面。

6

运行游戏,然后鼠标点击地面,物体会自动移动到鼠标点击的位置。

注意事项

如果物体部分隐藏地面,或者漂浮起来,可以通过设置pos的y值调整。

推荐信息