当前位置 博文首页 > 努力前行,总会成为自己心中的那道光:【Unity3D 灵巧小知识点】
老规矩,先介绍一下 Unity 的科普小知识:
通过从相机发射出一条射线,根据射线
碰到的点来获取当前鼠标的世界坐标信息
和 当前鼠标点击的物体信息
using UnityEngine;
public class test1 : MonoBehaviour
{
private Ray ray;
private RaycastHit hit;
Vector3 target;
GameObject _curGameObject;
void Update()
{
//当按下鼠标左键时
if(Input.GetMouseButton(0))
{
//鼠标在屏幕的位置
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
if (Physics.Raycast(ray, out hit))
{
//绘制出一条从相机射出的红色射线
Debug.DrawLine(Camera.main.transform.position, hit.point, Color.red);
}
target = hit.point;//获取鼠标的坐标位置
_curGameObject = hit.transform.gameObject;//获取鼠标点击的物体信息
Debug.Log("获取鼠标的世界坐标位置:" + target);
Debug.Log("鼠标点击的物体信息:" + _curGameObject);
}
}
}
效果如下: