1.Physic.OverlapSphere 重叠球
检测一定范围内所有带有碰撞器的游戏对象
方法示例:
Collider [ ] cols = Physics.OverlapSphere(this.gameObject.transform,5f);
for(int = 0; i<cols.Length;i++)
{
if(cols[i].name=="Enemy")
{
this.gameObject.transform.LookAt(cols[i].transform);
}
}
上面是检测半径为五范围内的带有碰撞器的游戏对象,如果有名字为Enemy的就看着它。
该方法返回球内或与之接触的所有的碰撞器。注意:这个针对碰撞器的边界体检测,而不是针对实际的碰撞器。
2.Physic.SphereCast 球形投射
当球形扫描与任意碰撞器相交,返回true,否则返回false。沿着射线方向投射一个球形,并返回更多的碰到的信息。
方法实例(部分代码):
private CapsuleCollider m_capsule;
RaycastHit hit;
if(Physics.SphereCast(m_capsule.transfom.position,m_capsule.radius,Vector3.down,out hit,((m_capsule.height/2-m_capsule.radius)+.0.1f)))
{
//射线所碰到的表面的法线 用hit.normal来表示