【Unity】特定のコライダーとの衝突を検知できない

実現したいこと

Unityで2Dアクションゲームを作成しています。
プレイヤーが持つCircleCollider2Dに敵が衝突した際に、敵を消すといった挙動を実装しようとしています。

発生している問題・分からないこと

ゲームビューで確認すると、プレイヤーのCircleCollider2Dと敵のCircleCollider2Dは衝突しているのですが、敵が消えません。

該当のソースコード

EnemyController.cs

1【該当箇所抜粋】 2public class EnemyController : MonoBehaviour 3{ 4 [SerializeField] GameObject player; 5 CircleCollider2D playerCircol; 6 7 void Start() 8 { 9 this.playerCircol = this.player.GetComponent<CircleCollider2D>(); 10 } 11 12 private void OnCollisionEnter2D(Collision2D collision) 13 Debug.Log(playerCircol); 14 if (collision.collider == playerCircol) 15 { 16 Destroy(gameObject); 17 } 18} 19

試したこと・調べたこと

上記の詳細・結果

上記のDebug.Log(playerCircol)の結果はplayer(UnityEngine.CircleCollider2D)と表示されたので、CircleCollider2Dだけを取得できているはずです。
試しにDebug.Log(collision.collider)を確認すると、上記と同様の結果となりますが、そもそもif文が呼び出されていません。
ちなみにプレイヤー、敵ともにRigidbody2Dコンポーネントを与えています。
解決策が全く思いつかないので、お力添えいただければ幸いです。

補足

特になし

コメントを投稿

0 コメント