Unity实现物体跟随鼠标移动

Unity实现物体跟随鼠标移动

本文实例为大家分享了Unity实现物体跟随鼠标移动的具体代码,供大家参考,具体内容如下

相关函数

Vector3.Lerp 线性插值
C# => static Vector3 Lerp(Vector3 from, Vector3 to, float t);

Vector3.MoveTpwards 移向
C# => static function MoveTowards(current: Vector3, target: Vector3, maxDistanceDelta: float): Vector3;

Vector3.SmoothDamp 平滑阻尼
C# =>static Vector3 SmoothDamp(Vector3 current, Vector3 target, Vector3 currentVelocity, float smoothTime, float maxSpeed = Mathf.Infinity, float deltaTime = Time.deltaTime);

着时间的推移,逐渐改变一个向量朝向预期的方向移动

向量由一些像弹簧阻尼器函数平滑,这将用远不会超过,最常见的用途是跟随相机

实现跟随鼠标运动 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);     } }

根据鼠标点下位置移动物体:

public class Move : MonoBehaviour {     void Start()     {     }     void Update()     {         if (Input.GetMouseButton(0))         {             //获取需要移动物体的世界转屏幕坐标             Vector3 screenPos = Camera.main.WorldToScreenPoint(this.transform.position);             //获取鼠标位置             Vector3 mousePos = Input.mousePosition;             //因为鼠标只有X,Y轴,所以要赋予给鼠标Z轴             mousePos.z = screenPos.z;             //把鼠标的屏幕坐标转换成世界坐标             Vector3 worldPos = Camera.main.ScreenToWorldPoint(mousePos);             //控制物体移动             transform.position = worldPos;             //刚体的方式             //transform.GetComponent<Rigidbody>().MovePosition(worldPos);         }     } }

推荐阅读

    excel怎么用乘法函数

    excel怎么用乘法函数,乘法,函数,哪个,excel乘法函数怎么用?1、首先用鼠标选中要计算的单元格。2、然后选中单元格后点击左上方工具栏的fx公

    excel中乘法函数是什么?

    excel中乘法函数是什么?,乘法,函数,什么,打开表格,在C1单元格中输入“=A1*B1”乘法公式。以此类推到多个单元。1、A1*B1=C1的Excel乘法公式

    标准差excel用什么函数?

    标准差excel用什么函数?,函数,标准,什么,在数据单元格的下方输入l标准差公式函数公式“=STDEVPA(C2:C6)”。按下回车,求出标准公差值。详细

    2010年底DIY硬件总结和安装参考

    2010年底DIY硬件总结和安装参考,,它似乎只是一眨眼的功夫从过去的最后一眼。看看现在的岗位似乎就在昨天,但看看当年的内容是真的走了,如果

    excel常用函数都有哪些?

    excel常用函数都有哪些?,函数,哪些,常用,1、SUM函数:SUM函数的作用是求和。函数公式为=sum()例如:统计一个单元格区域:=sum(A1:A10)  统计多个