【Unity】衝突のサンプル

サンプル概要

このサンプルは、ボールとブロックが衝突することでブロックが破壊されるシンプルな2Dブロック崩しゲームです。

衝突判定の実装

衝突判定はUnityの物理エンジンを利用して行われます。具体的には、ボールとブロックにCollider2Dコンポーネントを追加し、Rigidbody2Dコンポーネントをボールにのみ追加します。ボールのRigidbody2Dには、速度を調整するためのDragやAngular Dragの設定も行われます。

次に、ボールのスクリプトで、OnCollisionEnter2Dメソッドを実装します。このメソッドは、ボールが他のオブジェクトと衝突した際に呼び出されます。

void OnCollisionEnter2D(Collision2D collision)
{
    if (collision.gameObject.CompareTag("Block"))
    {
        Destroy(collision.gameObject);
    }
}

このメソッドでは、衝突したオブジェクトがブロックかどうかを判定し、ブロックであればDestroyメソッドを呼び出してオブジェクトを破壊します。

実行結果

以上の設定を行った後、ゲームを実行すると、ボールがブロックに衝突するたびにブロックが破壊されていきます。また、ボールが壁やプレイヤーに衝突すると反射するようになっており、これによってプレイヤーがボールを操作してブロックを破壊することができます。

以上がUnityでの衝突判定のサンプルの説明になります。

Unity,学習

Posted by hidepon