本文仅作学习笔记与交流,不作任何商业用途
本文包括但不限于unity官方手册,唐老狮,麦扣教程知识,引用会标记,如有不足还请斧正
1.范围检测介绍
unity提供了五种可行的范围检测,可以看这篇文章【Unity每日一记】关于五种Unity范围检测方法的总结_unity常用的攻击范围检测-CSDN博客
而物理系统下的Overlap比较好用:
下为官方手册:
2.常用API
盒状检测:一个瞬时检测!
五个参数如下:
重点说明一下第四个参数:
layerMask要填入:关于1的位运算,即左移n位二进制数,多个层级之间用“|”或运算,原理讲解出自唐老狮
这样做的目的是,可以用一串二进制数代表多个层级的选择
比如默认层级顺序如下,我想检测在TransparentFX与UI层级盒状范围碰撞
需要写的代码就是:
代表的二进制数为:0010 0010(注意,层级符号是从0开始的)
注意它的返回值是一个碰撞器数组,也就是在该范围内你可以得到所有对象的脚本或组件:
当然默认情况下该碰撞器是不可见的,你可以写如下代码画一个对应的框线来看到其位置