Unity API之Physics2D.Raycast
Unity API之Physics2D.Raycast
描述
射线可以用于角色的环境检测,使用射线检测,首先要给被检测的物体挂上Collider。
从概念上说,射线投射类似于从空间的某个点朝特定方向发射一条光束,在该过程中,可以检测并报告与光束接触的任何对象。

参数解释
- origin:射线投射的原点
- direction:射线投射的方向
- distance:射线的最大长度
- layerMask:射线只会投射到layerMask层的碰撞体
- contactFilter:接触筛选器,用于不同方式筛选结果,例如按照遮罩层、Z轴深度或者法线角度
- minDepth:仅包括Z轴坐标大于等于该值的对象
- maxDepth:仅包括Z轴坐标小于等于该值的对象
- result:用于接收结果的数组。该数组的大小决定可返回的结果的最大数量
返回值
函数会返回一个RaycastHit2D对象,该对象引用了射线命中的碰撞体,如果射线未命中任何对象,则结果的属性将为NULL。
函数也可以返回一个bool型的值,如果射线碰撞到了物体,则返回true,否则返回false。
如果在参数中传入了result,则会返回一个int类型的值,该值表示了放置在result中的结果数量。
layerMask的写法
可以使用1 << LayerMask.NameToLayer("Ground")来让Ground图层可以被检测到
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Hexo!
