Unity API【Physics.OverlapSphere】及其技巧

目录

    • 1 API介绍
    • 2 函数声明
    • 3 用法解析
    • 4 技巧1:获取一定距离内最近的一个敌人单位
    • 5 技巧2:实现AOE(范围)伤害,例如手雷爆炸的范围伤害

1 API介绍

2 函数声明

Unity API【Physics.OverlapSphere】及其技巧_第1张图片

3 用法解析

Unity API【Physics.OverlapSphere】及其技巧_第2张图片
Unity API【Physics.OverlapSphere】及其技巧_第3张图片
Unity API【Physics.OverlapSphere】及其技巧_第4张图片
Unity API【Physics.OverlapSphere】及其技巧_第5张图片

4 技巧1:获取一定距离内最近的一个敌人单位

//代码
public Transform  OverlapSphereCube; 
public float SearchRadius;
//假设 SearchRadius表示的相交球的检测半径值,大到足够覆盖到Cube4

void Start()
{
    SearchNearUnits();
}

public void SearchNearUnits()
{
  Collider[] colliders = Physics.OverlapSphere(OverlapSphereCube.position, SearchRadius,1 << LayerMask.NameToLayer("Enemys"));

  if(colliders.Length <= 0) return ;

  for (int i = 0; i < colliders.Length; i++)
      print(colliders[i].gameObject.name);
}

Unity API【Physics.OverlapSphere】及其技巧_第6张图片

5 技巧2:实现AOE(范围)伤害,例如手雷爆炸的范围伤害

Unity API【Physics.OverlapSphere】及其技巧_第7张图片

你可能感兴趣的:(Unity3d)