【unity】Collider2Dの当たり判定
2020/08/26

当たり判定が機能しない

こんばんは。いま作っているゲームのキャラクターはBoxCollider2Dを使用して地面や敵の当たり判定を行いたいと思ってます(ました)。
当たり判定ポイントは当たり判定クラスのマトリクス変数に格納しています。

タイルマップのTileColliderとの判定は成功した(ように見えた)のでキャラクターも地形にめり込まず動いてくれました。
次に敵のBoxCollider2DとプレイヤーのBoxCollider2Dとの接触判定を試みたところ・・・
・・すり抜けた・・・・・・なぜだろう?

いろいろ試してわかったことは、

  1. シミュレーションするにチェックを入れないと駄目だということ
  2. チェックを入れると重力などがUnity管轄になり、まともに動かないこと

さぁ困ったぞ・・・


クラスの継承とかコピーがテキトウになってた

お互いの当たり判定を確認しようとした場合、相手のコライダー情報が必要になります。 ヒエラルキー上の敵キャラクターのBoxCollider2DをGetComponentすれば良いのですが、 敵はこの後増えますし、Enemyタグを付けるくらいでキャラ名は変わります。

とりあえず現状のスクリプトの関係を整理しました。

なんだかヤバい感じがしてきました。

今日はここまでにします。

ページトップ