Ray射线
RaycastHit 光线投射碰撞信息
Origin在世界坐标系中射线的起始点
Direction射线的方向
Distance射线的长度
Hit使用C#中out关键字传入一个空的碰撞信息类,然后碰撞后赋值,获取物体信息
LayerMask只对该层碰撞
RaycasHit[] RaycastAll(Ray ray, float distance, int layerMask)投射一光线,返回所有碰撞信息
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.UI;
public class Test : MonoBehaviour
{
void Update()
{
if (Input.GetMouseButton(0))
{
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
RaycastHit hitInfo;
Debug.Log("按下了鼠标左键");
if (Physics.Raycast(ray, out hitInfo))
{
Debug.DrawLine(ray.origin, hitInfo.point, Color.blue);
GameObject gameObj = hitInfo.collider.gameObject;
Debug.Log(gameObj);
}
}
}
}