2つの2Dゲームオブジェクトがあります。それぞれに、ボックスコライダー2Dとキネマティックではないリジッドボディ2Dがあります。ゲームがプレイされると、一方が他方に向かって移動し、衝突します。
ただし、移動するGameObjectには次のメソッドもあります。
void OnCollisionEnter(Collision collision)
{
print( "Collided with someone" );
}
Printステートメントは印刷されないため、おそらくメソッドが呼び出されることはありません。どこがいけないの?
Unityは、2Dの物理手法をすべて再現し、最後に「2D」という単語を貼り付けました。したがって、例として、次のように変更する必要があります。
void OnCollisionEnter2D(Collision2D collision)
そして基本的に他の2D物理学の事柄と同じです。