文章目录
射线检测
游戏中的红外线,默认肉眼是看不到的,从某个初始点开始,沿着特定的方向发射一条不可见且无限长的射线,通过此射线检测是否有任何模型添加了Collider碰撞器组件。一旦检测到碰撞,停止射线继续发射。
碰撞检测
可以帮助我们实现诸如抵达某个地点自动触发剧情、判断子弹是否击中玩家等功能,但我如果想要实现如当鼠标悬浮某个人物上,自动弹出该人物信息,要如何判断呢?这时使用碰撞检测,从摄像机生成一个透明碰撞体朝着人物移动,等碰撞到了人物再弹出该人物信息?会不会太繁琐了。或许你又会想,若我直接生成一个足够长的透明碰撞体呢,是不是在创建的那一刻就可以触发该人物的弹出信息逻辑?没错这样的确可以,而这就是射线
!不过是把无限长的透明碰撞体变为了无限长的一条线,仅此而已。
创建射线有两种方式:
- 从某点发射一条射线;
- 从摄像机发射一条射线
方法 | 解释 |
---|---|
Physics.Raycast(origin(V3) | 射线的发射点 |
direction(V3) | 具体方向 |
hitInfo(RaycastHi |