using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class moseposion : MonoBehaviour
{
private void OnMouseDrag()//Unity:当用户在GUIElement或碰撞器上单 击 鼠标并保持按住鼠标时调用OnMouseDrag
{
OnCube();
}
public LayerMask layerMask;//层级变量
private void OnCube()//私有方法
{
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);//射线
RaycastHit hit;//射线投射碰撞信息
if (Physics.Raycast (ray,out hit,200,layerMask ))
{
this.transform.position = new Vector3(hit.point.x, hit.point.y, hit.point.z - 0.75f);//将 射线碰撞点位置赋值给物体
}
}
}
//最终此脚本挂在要移动的物体上(1)
//另外创建一个物体(2)的layer和脚本上的layer一致 当移动物体的范围
//持续点击要移动的物体(1)即可在(2)覆盖的范围内做到跟随移动
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210326160228263.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1NlcHRlbWJlclRhbg==,size_16,color_FFFFFF,t_70#pic_center)