Unity3D 灵巧小知识点☀️ | Unity通过 射线 获取 鼠标的世界坐标 和 鼠标点击的物体信息
Posted 呆呆敲代码的小Y
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unity3D 灵巧小知识点☀️ | Unity通过 射线 获取 鼠标的世界坐标 和 鼠标点击的物体信息相关的知识,希望对你有一定的参考价值。
Unity 小科普
老规矩,先介绍一下 Unity 的科普小知识:
- Unity是 实时3D互动内容创作和运营平台 。
- 包括游戏开发、美术、建筑、汽车设计、影视在内的所有创作者,借助 Unity 将创意变成现实。
- Unity 平台提供一整套完善的软件解决方案,可用于创作、运营和变现任何实时互动的2D和3D内容,支持平台包括手机、平板电脑、PC、游戏主机、增强现实和虚拟现实设备。
- 也可以简单把 Unity 理解为一个游戏引擎,可以用来专业制作游戏!
Unity小知识点学习
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);
}
}
}
效果如下:
以上是关于Unity3D 灵巧小知识点☀️ | Unity通过 射线 获取 鼠标的世界坐标 和 鼠标点击的物体信息的主要内容,如果未能解决你的问题,请参考以下文章
Unity3D 灵巧小知识点 ☀️ | 快速查找场景中勾选Raycast Target的游戏对象
Unity3D 灵巧小知识点 ☀️ | 让Unity支持后台运行
Unity3D 灵巧小知识点 ☀️ | Unity脚本中获取 本地时间
Unity3D 灵巧小知识点☀️ | Unity 中 使用代码切换天空盒