射线在unity射线中是个很方便的东西对对象查找、多用于碰撞检测(如:子弹飞行是否击中目标)、角色移动等提供了很大的帮助,在此做个总结与大家分享下 若有不足歡迎吐槽
好了,话补多说啦直接进入主题:
射线:在unity射线中射线是由一个点向一个方向发射的一条无终点的线,在发射轨迹中与其他物體发生碰撞时它将停止发射 。
当光线投射与任何碰撞器交叉时为真否则为假。
在场景中投下可与所有碰撞器碰撞的一条光线并返回碰撞的细节信息()。
当光线投射与任何碰撞器交叉时为真否则为假。
当光线投射与任何碰撞器交叉时为真否则为假。
注意:如果从一个浗型体的内部到外部用光线投射返回为假。
origin : 在世界坐标中射线的起始点
hit: 使用c#中out关键字传入一个空的碰撞信息类然后碰撞后賦值。可以得到碰撞物体的transform,rigidbody,point等信息
layerMask: 只选定Layermask层内的碰撞器,其它层内碰撞器忽略 选择性的碰撞
投射一条光线并返回所有碰撞,也就昰投射光线并返回一个RaycastHit[]结构体
Ray只有起点和方向.函数附加x距离内的条件。
(1)无论是哪种raycast检测从物体内部穿到外面的,都不视为穿过只有從物体外穿到里面的才视为穿过。
(2)可以绘制 可见线 来辅助开发
如果在scene的Gizmos选项下 勾选 3D Gizmos, 那么线段位于真实3D空间里有前后遮挡。
如果不勾选則gizmo永远在最前显示。
在给大家介绍射线检测中那个物體之间是否存在其他物体阻挡行为之前需要大家先了解射线检测的原理,在通过以下两种方式让大家去检测两个物体之间是否有其他物體阻挡
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。