【Unity游戏开发教程】零基础带你从小白到超神19——射线检测

射线检测

游戏中的红外线,默认肉眼是看不到的,从某个初始点开始,沿着特定的方向发射一条不可见且无限长的射线,通过此射线检测是否有任何模型添加了Collider碰撞器组件。一旦检测到碰撞,停止射线继续发射。

碰撞检测可以帮助我们实现诸如抵达某个地点自动触发剧情、判断子弹是否击中玩家等功能,但我如果想要实现如当鼠标悬浮某个人物上,自动弹出该人物信息,要如何判断呢?这时使用碰撞检测,从摄像机生成一个透明碰撞体朝着人物移动,等碰撞到了人物再弹出该人物信息?会不会太繁琐了。或许你又会想,若我直接生成一个足够长的透明碰撞体呢,是不是在创建的那一刻就可以触发该人物的弹出信息逻辑?没错这样的确可以,而这就是射线!不过是把无限长的透明碰撞体变为了无限长的一条线,仅此而已。

创建射线有两种方式:

  • 从某点发射一条射线;
  • 从摄像机发射一条射线
方法 解释
Physics.Raycast(origin(V3) 射线的发射点
direction(V3) 具体方向
hitInfo(RaycastHi

猜你喜欢

转载自blog.csdn.net/qq_36303853/article/details/129765775