【Unity2D】当たり判定を検知するための手順~敵に弾を当てる~


シューティングゲームを作成している途中で当たり判定を学んだのでその備忘録として。
今回は自分の発射した弾が相手に当たったかどうかに当たり判定をつけたい。
当たり判定を検知するためには以下2つが必要となる。
①GameObjectにcolliderをつける
②どちらかもしくは両方にRiditBodyをつける

1. 衝突させたいオブジェクトを用意する

今回の主役となる、弾と敵機を用意。

2.両方にcolliderをつける

今回当たり判定をつけたいオブジェクトを選択し、InspectorからAdd Componentを選択し、Box Collider 2Dをつける。(Circle Colliderなど別の形でも可)

これを弾の方のオブジェクトも選択し、同じようにする。

3.isTriggerにチェック

Colliderの大きさをInspectorのSizeも大きければ調節する。

4.Riditbody2Dをつける

Colliderと同じくAdd ComponentからRiditbody2Dをつける。
今回は重力を加味しないため、Body TypeをKinematicにする。

5.Scriptに追加

OnTriggerEnter2Dで弾と敵が当たった時にconsoleに「当たり判定!!」と出ます。

private void OnTriggerEnter2D(Collider2D collision)
    {
        Debug.Log("当たり判定!!");    
    }