//将Player层过滤int layer = 1 << LayerMask.NameToLayer("Player");//检查是否有任何碰撞体与世界空间中的球体/盒体/胶囊体体积重叠//Debug.Log(Physics.CheckSphere(transform.position, 0.5f,~layer));Debug.Log(Physics.CheckBox(transform.position,Vector3.one * 0.5f,Quaternion.identity,~layer,QueryTriggerInteraction.UseGlobal));//Debug.Log(Physics.CheckCapsule(this.transform.position + Vector3.up * 0.5f, this.transform.position - Vector3.up * 0.5f, 0.2f, ~layer));
注:这里我选择忽略Player层
Physics.CheckBox
center | 盒体的中心。 |
halfExtents | 盒体各个维度大小的一半。 |
orientation | 盒体的旋转。 |
layermask | 层遮罩,用于在投射射线时有选择地忽略碰撞体。 |
queryTriggerInteraction | 指定该查询是否应该命中触发器。 |
Physics.CheckCapsule
start | 胶囊体在 start 处的球体中心。 |
end | 胶囊体在 end 处的球体中心。 |
radius | 胶囊体的半径。 |
layermask | 层遮罩,用于在投射胶囊体时有选择地忽略碰撞体。 |
queryTriggerInteraction | 指定该查询是否应该命中触发器。 |
Physics.CheckSphere
position | 球体的中心。 |
radius | 球体的半径。 |
layerMask | 层遮罩,用于在投射胶囊体时有选择地忽略碰撞体。 |
queryTriggerInteraction | 指定该查询是否应该命中触发器。 |
queryTriggerInteraction 有三个值,第一个时Collider总是查询,第二个Ignore忽略查询,第三个UseGlobalSetting使用全局的设置