Unity 5.3 将物体转向鼠标所在位置

Posted 天逸痕

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unity 5.3 将物体转向鼠标所在位置相关的知识,希望对你有一定的参考价值。

一、需求描述:

初始情况——

目标需求:

 

二、代码

 1     void Update () {
 2         // 获取鼠标位置相对移动向量
 3         Vector2 translation = new Vector2(Input.GetAxis("Horizontal"),Input.GetAxis("Vertical"));
 4         // 根据鼠标位置相对移动向量移动物体
 5         transform.Translate(translation * speed * Time.deltaTime);
 6         // 当鼠标左键按下时
 7         if (Input.GetMouseButton(0))
 8         {
 9             // 鼠标坐标默认是屏幕坐标,首先要转换到世界坐标
10             // 物体坐标默认就是世界坐标
11             // 两者取差得到方向向量
12             Vector3 direction = Camera.main.ScreenToWorldPoint(Input.mousePosition) - transform.position;
13             // 方向向量转换为角度值
14             float angle =360-Mathf.Atan2(direction.x, direction.y) * Mathf.Rad2Deg;
15             // 将当前物体的角度设置为对应角度
16             transform.eulerAngles = new Vector3(0, 0, angle);
17         }
18         
19     }

 

以上是关于Unity 5.3 将物体转向鼠标所在位置的主要内容,如果未能解决你的问题,请参考以下文章

关于Unity3D中鼠标移动指定物体的解决方案

unity3d 2D平面游戏实现鼠标拖拽物体移动

Unity笔记物体朝着鼠标位置移动

unity中实现物体的拖拽到指定位置的功能

Unity3D 入门小技巧——鼠标拾取并移动物体

Unity让物体跟随鼠标移动