質問: "PLAIN"){ Destroy(col.gameObject); } } } ``` ### 試したこと ### 補足情報(言語/FW/ツール等のバージョンなど)
回答: オブジェクトの移動を`transform.Translate`や`transform.position`で行なっていませんか? この場合、オブジェクト同士が重なっていても衝突判定が行われません。(物理特性が働かない) 移動には`rigidbody.AddForce`や`rigidbody.velocity`を使ってください。 (物理特性に基づいて移動される為、衝突判定も行われるようになります) これでも駄目ならコンポーネントの設定が間違っている(Collider2Dの代わりにColliderが付いている、RigidbodyのisTriggerがオンになっているなど)か、タグが付いていない可能性があります。 ``` void OnTriggerEnter2D(Collider2D col){ Debug.Log(col.tag); if(col.tag == "PLAIN"){ Destroy(col.gameObject); } } ``` 上記のようにデバッグログを表示させ、 「そもそも衝突していない(OnTriggerEnter2Dが呼ばれていない)」のか 「衝突はしているがその後の処理がされていない(OnTriggerEnter2Dは呼ばれているがif文の中に入っていない)」のかを確認すると解決がしやすいです。 次回以降の参考にしてくださると助かります。