1

こんにちは、これまで答えを見つけることができなかった質問があります。2 つのゲーム オブジェクトが隣り合っており、それぞれにコライダーがあります。3 番目のオブジェクトがゲーム オブジェクトの 1 つと衝突すると、その 3 番目のオブジェクトの方向/バウンスは、接触したゲーム オブジェクト/コライダーに基づいて異なる方向になります。これはほとんどの場合、gameObjects がきれいにヒットした場合は正常に機能しますが、両方のコライダーの真ん中で衝突すると真ん中の方向に進み、これが私のゲームに問題を引き起こします。

他のオブジェクトが両方と衝突したとき、つまり両方のゲームオブジェクトの結合に当たったときに、1 つのコライダー/衝突のみがトリガーされるようにする方法を知りたかったのです (どちらでもかまいません)。

4

1 に答える 1

4

衝突はフレームの開始時に発生するため、衝突を検出して LateUpdate でリセットできます。

private bool hasCollided = false;
void OnCollisionEnter(Collision col)
{
    if(this.hasCollided == true){ return; }
    this.hasCollided = true;
}
void LateUpdate()
{
    this.hasCollided = false;
}
于 2016-11-27T18:01:11.273 に答える