「Collision」クラスについて
当記事では、「Collision」について解説していくわけですが、
どのような目的をもって「Collision」の検索をされたのか、
それぞれに知りたい『Collision』があると思いますので、
以下を読んで、ご希望の記事へとお進みください。
「Collision」を「衝突」という意味で検索された方、すなわち、Unityにおける「当たり判定」全般を知りたいという方は、以下の記事へとお進みください。「当たり判定」と「トリガー」の違いをもとに「衝突」について詳しく解説しております。
⇒ 「『Collider』をマスター!」
また、純粋に「当たり判定」の設定方法を知りたいという方、あるいは、OnCollision系の関数を目的として検索された方は、以下の記事へとお進みください。「当たり判定」のための設定方法を詳しく解説しております。
⇒ 「『当たり判定』の設定方法を詳しく解説!」
そして当記事では、「Collision」クラスについて解説しております。
もくじ
1.『Collision』とは
2.『Collision』で取得できる情報
3.『Collision』の具体例
4.『Collision』のまとめ
『Collision』とは
「Collision」とは、衝突したオブジェクトの情報を扱うためのクラスです。
“クラス”という言葉が分かりにくいという方は、
「Collision」には衝突した相手の「GameObject」や「Collider」といった情報が
収められている入れ物であるという認識で大丈夫です。
『Collision』で取得できる情報
「Collision」には以下の情報が格納されています。
『Collision』の具体例
例えば、物理的接触が発生したタイミングで呼び出される
「OnCollisionEnter2D」という関数の中に以下のように書くことで、
衝突した相手のオブジェクト名を表示することができます。
1 2 3 4 5 |
private void OnCollisionEnter2D(Collision2D collision) { // 衝突した相手のオブジェクト名をログに表示する Debug.Log(collision.gameObject.name); } |
『Collision』のまとめ
「Collision」には、衝突した相手の情報が格納されており、
「Collision」のおかげで、「だれ」と衝突したのかがわかるようになります。
結果、「衝突した敵のHPを減らす」や「衝突したときに弾を削除する」
といったことが可能になるわけですね。