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来表示

本文介绍了Unity3D中两种球形检测方法:OverlapSphere用于检测指定范围内带有碰撞器的游戏对象,而SphereCast则沿着特定方向投射球形,当与碰撞器相交时返回相关信息。OverlapSphere关注碰撞器边界,SphereCast则适用于动态检测并提供额外的碰撞信息。
最低0.47元/天 解锁文章
2591

被折叠的 条评论
为什么被折叠?



