射线获取坐标

来源:互联网 发布:HIS系统数据库类型 编辑:程序博客网 时间:2024/06/04 19:00

射线:碰到障碍物就会断开
鼠标点击屏幕获得一个二维坐标,通过相机的射线转换为三维世界坐标

private Vector3 worldPos;//鼠标点击的点所对应的世界里面的位置
//点击鼠标右键
if (Input.GetMouseButton(1))
{
//1获得鼠标点击屏幕的二维坐标
Vector3 mouse=Input.mousePosition
//2创建一个射线 从相机位置到鼠标点击的位置的方向上
Ray ray = Camera.main.ScreenPointToRay(mouse);
//定义一个射线检测的保存对象
RaycastHit hit;//hit保存射线发射后碰撞的信息
//开始碰撞检测,射线检测返回一个bool类型,true:有碰撞,false:无碰撞
if (Physics.Raycast(ray, out hit,100f)) //碰撞检测(射线,碰撞结果给hit,射线的长度100米)
{
worldPos= hit.point;
}
}

很简单的吧 ^v^