using UnityEngine;
using System.Collections;
public class ScreenRayDemo : MonoBehaviour
{
Ray ray;
RaycastHit hit;
// 创建射线到屏幕上的参考点,像素坐标
Vector3 position = new Vector3(Screen.width / 2.0f, Screen.height / 2.0f, 0.0f);
void Update()
{
//鼠标点击
if (Input.GetMouseButtonDown(0))
{
//从摄像机发出到点击坐标的射线
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
RaycastHit hit;
if (Physics.Raycast(ray, out hit))
{
//显示射线,只有在scene视图中才能看到
Debug.DrawLine(ray.origin, hit.point);
Debug.Log(hit.point);//碰撞坐标
Debug.Log(hit.ToString());//碰撞坐标
print("坐标" + hit.transform.position);
print("点" + hit.point);
print("重心坐标" + hit.barycentricCoordinate);
print("碰撞盒********************" + hit.collider.name);
print("距离" +
unity射线检测
最新推荐文章于 2025-10-22 13:45:07 发布
本文深入探讨Unity3D中的射线检测技术,包括其工作原理、使用场景及如何在实际项目中实现精确的碰撞检测。通过实例解析,帮助开发者理解并掌握射线检测在游戏开发中的应用。

最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



