【Unity】『Collision』を理解する

本日のテーマ

「Collision」クラスについて

当記事では、「Collision」について解説していくわけですが、

どのような目的をもって「Collision」の検索をされたのか、

それぞれに知りたい『Collision』があると思いますので、

以下を読んで、ご希望の記事へとお進みください。

 

Collision」を「衝突」という意味で検索された方、すなわち、Unityにおける「当たり判定」全般を知りたいという方は、以下の記事へとお進みください。「当たり判定」と「トリガー」の違いをもとに「衝突」について詳しく解説しております。
⇒ 「『Collider』をマスター!

また、純粋に「当たり判定」の設定方法を知りたいという方、あるいは、OnCollision系の関数を目的として検索された方は、以下の記事へとお進みください。「当たり判定」のための設定方法を詳しく解説しております。
⇒ 「『当たり判定』の設定方法を詳しく解説!

 

そして当記事では、「Collision」クラスについて解説しております。

 

 

もくじ

1.『Collision』とは
2.『Collision』で取得できる情報
3.『Collision』の具体例
4.『Collision』のまとめ

 

 

『Collision』とは

Collision」とは、衝突したオブジェクトの情報を扱うためのクラスです。

“クラス”という言葉が分かりにくいという方は、

「Collision」には衝突した相手の「GameObject」や「Collider」といった情報が

収められている入れ物であるという認識で大丈夫です。

 

 

『Collision』で取得できる情報

Collision」には以下の情報が格納されています。

・Collider
:ヒットした相手のCollider情報
・contacts
:物理エンジンにより生成された衝突情報
・gameObject
:ヒットした相手のGameObject情報
・impulse
:衝突を解消するために互いの接触に適用されるインパルス
・relativeVelocity
:衝突した2つのオブジェクトの相対速度
・rigidbody
:ヒットした相手のRigidbody情報
・transform
:ヒットした相手のTransform情報

 

 

『Collision』の具体例

例えば、物理的接触が発生したタイミングで呼び出される

「OnCollisionEnter2D」という関数の中に以下のように書くことで、

衝突した相手のオブジェクト名を表示することができます。

 

 

『Collision』のまとめ

Collision」には、衝突した相手の情報が格納されており、

「Collision」のおかげで、「だれ」と衝突したのかがわかるようになります。

結果、「衝突した敵のHPを減らす」や「衝突したときに弾を削除する」

といったことが可能になるわけですね。