玩游戏的过程中发现有些类型的游戏是通过自己拖放物体来创建自己的世界,像一些游戏中的建筑物或者武器等都可以按照自己的需要在场景中拖放,在unity3d中我们可以通过动态监听鼠标位移来实现这个功能。
工具/原料
unity5.3工具
方法/步骤
1
首先我们打开unity3d场景。
2
在场景中创建一个要拖放的立方体。
3
选择场景中的“Terrain”把它的Layer设置为“Terrain”。
4
选择“Camera”相机,把Tag设置为“MainCamera”。
5
在项目文件夹中创建一个“Mouse_move”脚本。
6
创建OnMouseDrag方法监听鼠标拖动,通过Ray获得地形的位置,并把立方体设置为地形的当前位置。Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit hit = new RaycastHit(); if (Physics.Raycast(ray, out hit)) { if (hit.collider.name == 'Terrain') { transform.position =new Vector3(hit.point.x,transform.position.y,hit.point.z); } }
7
把脚本放在要拖放的立方体物体上面。
8
运行游戏,我们就可以点击立方体拖动到需要放置的地方了。