Unity3D平面与射线的坑
1,
using UnityEngine;
using System.Collections;
public class ScreenPointToRay : MonoBehaviour
{
Camera cam;
Vector3 pos = new Vector3(720, 1440, 0);
void Start()
{
cam = GetComponent<Camera>();
}
void Update()
{
Ray ray = cam.ScreenPointToRay(pos);
RaycastHit hit;
if (Physics.Raycast(ray, out hit, Mathf.Infinity))
{
// 如果射线与平面碰撞,打印碰撞物体信息
Debug.Log("碰撞对象: " + hit.collider.name);
// 在场景视图中绘制射线
Debug.DrawLine(ray.origin, hit.point, Color.red);
print("hit.point=" + hit.point);
}
}
}
2,如果把平面翻转180度,则射线检测不到跟平面相交,说明单面的物体,即使用双面材料也没法检测。