射线检测详解

博客介绍了Raycast相关碰撞检测知识。通过hit.collider可获取碰撞到的碰撞器,换组件名称能获取其他组件;hit.point可获取碰撞位置。Raycast只检测首个碰撞物体,返回RaycastHit,RaycastAll检测所有碰撞物体,返回RaycastHit数组。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Ray ray = mainCamera.ScreenPointToRay(Input.mousePosition);//发出射线获取鼠标点击的位置
RaycastHit hit;//声明一个RaycastHit类型的变量用来存储碰到的信息
Physics.Raycast(ray, out hit);//获取射线碰到的物体的碰撞信息
Physics.Raycast(ray, Mathf.Infinity, LayerMask.GetMask("Enemy1", "Enemy2", "UI"));//第一个参数是射线,第二个参数是距离,第三个参数是LayerMask.GetMask需要进行射线检测的layer层。

hit.collider获取碰撞到的碰撞器,将collider换成其他组件的名称也可以获取其他组件
hit.point获取发生碰撞的位置
Raycast只检测碰撞到的第一个物体,返回值是一个RaycastHit,RaycastAll检测碰撞到的所有物体,返回值是一个RaycastHit数组。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值