範囲内のコライダーを取得

爆発して範囲内の敵にダメージを与えるようなときに使えるかも。

色々やり方あると思います。

    [SerializeField]
    LayerMask bomMask;

    private void OnEnable()
    {
        Collider[] colliders =
        Physics.OverlapSphere(transform.position,Radius,bomMask);
        
     foreach (Collider hit in colliders)
            {
                 //hitに範囲内のColliderが入る
                     //hit.gameobjectでGameObjectを参照できる
            }
    }

Physics.OverlapSphere()で球体の衝突範囲を生成できるみたいです。衝突を取得するレイヤーを設定しておいたほうが良いかも。指定しなかったらすべてのレイヤーを取得するみたいですが、なんかうまくいかなかった……。

コメント

タイトルとURLをコピーしました