Unity2017超基础入门(5)射线检测,通过点击创建、移动物体,实现两点之间的巡逻、相交球范围检测

射线Ray的使用与判定

Ray:创建射线

Raycast:一旦与其他模型发生碰撞,他将停止发射。

RaycastAll:投射一条光线并返回所有碰撞

我们在Update中创建一个射线ray,从摄像机发射到鼠标点击位置的一个射线。再创建一个射线检测RaycastHit,通过Raycast检测到射线碰撞到的第一个物体。
 

如果需要“射线穿透”的判断,就需要用到RaycastAll

通过Debug.DrawRay(ray.origin, ray.direction, Color.red);画出一条红色的射线,只有在Scene场景中可见。

有了射线以后我们就可以精确的获取到点击的坐标位置了

鼠标点击创建物体

我们这里实现在Cube正上方创建一个Sphere

通过1<<LayerMask.NameToLayer限定点到的是什么图层,再去创建

鼠标点击移动物体

我们右键设定一个终点,因为hit.point的位置是在平面上,而物体有高度,所以锁定物体y轴。这里以+1为例。

移动我们采用了Lerp插值进行更平滑的移动。

两点之间巡逻

通过交换起点和终点和添加stopTime计时器来实现停止、巡逻、停止的过程

相交球

输出球形范围内的物体名称

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值