Unity实现物体跟随鼠标移动

  public class Demo : MonoBehaviour {

  void Start () {

  }

  void Update () {

  // 此时的摄像机必须转换 2D摄像机 来实现效果(即:摄像机属性Projection --> Orthographic)

  Vector3 dis = Camera.main.ScreenToWorldPoint(Input.mousePosition); //获取鼠标位置并转换成世界坐标

  dis.z = this.transform.position.z; //固定z轴

  this.transform.position = dis; //使物体跟随鼠标移动

  Debug.Log(dis); //输出变化的位置

  //使用Lerp方法实现 这里的Time.deltaTime是指移动速度可以自己添加变量方便控制

  this.transform.position= Vector3.Lerp(this.transform.position,dis,Time.deltaTime);

  //使用MoveTowards方法实现,这个方法是匀速运动

  this.transform.position = Vector3.MoveTowards(this.transform.position, dis, Time.deltaTime);

  //使用SmoothDamp方式实现,给定时间可以获取到速度

  Vector3 speed = Vector3.zero;

  this.transform.position = Vector3.SmoothDamp(this.transform.position, dis,ref speed, 0.1f);

  Debug.Log(speed);

  }

  }