プログラミング学習日記

プログラミング学習時のメモ帳。

Unity<Collider>

間違っている場所あったら優しく教えてね

Collider(コライダー)は当たり(衝突)判定を使いたい時に使う。

衝突判定の範囲を定めるコンポーネント

Colliderコンポーネント(衝突判定範囲)

 BoxCollider                //長方形のコライダー

 PolygonCollider   //多角形のコライダー 

 circleCollider     //円のコライダー

Edit ColliderをONにすることで細かく決められる。

Is TriggerをONするとtriggerとなり、当たった際に物理的衝突(反発、反射)はしなくなる。

当たり判定の取得

以下のbehavierから継承されたメソッドを使う。

OnTriggerEnter2D( );

 オブジェクトのコライダーが別のコライダーに衝突した時に呼び出される。

OnTriggerStay( )2D;

 オブジェクトのコライダーが別のコライダーに接触している間に1フレームごとに呼び出される。

OnTriggerExit( )2D;

 オブジェクトのコライダーが別のコライダーから離れるときに呼び出される。

全てのコライダーに反応してしまうため注意が必要(特定のコライダーのみとの反応を考える。)

レイヤーを設定する

Edit > ProjectSetting > Tags and Layers

 Layerの作成をする

レイヤーで当たり判定の制御

Edit > ProjectSetting > physics2D >LayerCollisionMatrix

 当たり判定を無くしたいところのチェックを外す

スクリプトでレイヤーを制御(LayerCollisionMatrixより細かい設定)

レイヤーをgameObjectから取得する。

LayerMak.LayerToString( );

 レイヤー名の取得

 

 

 

ブログを見ていただきありがとうございました