ぺんたんがゲーム開発やアプリ開発、最近の気になる話題、特にスマホやIT関連について語る場所

ぺんごや

Unity Unity2D Unity初心者 Unity基礎

【Unity】タップ判定と当たり判定の範囲(コライダー)を分ける方法【2D向け】

更新日:

キャラクター全体にタップ判定を持たせつつも、キャラクターの物に対する当たり判定は足元のみにしたいケースが、特に2Dのゲームなんかではよくあると思います。
キャラクターの物に対する当たり判定をキャラクター全体に持たせてしまうと、キャラクターの背後に物が配置できなくなってしまいますからね。

というわけで、動画のようなにキャラクターの当たり判定とタップ判定の範囲を分ける方法をご紹介します。

キャラクターの当たり判定を設定する

物に対する当たり判定

キャラクター用のオブジェクトに通常通りリジッドボディとコライダーを追加します。
その際に、コライダーは物に対する当たり判定を設定します。

今回は足元だけが物に当たってほしいので、足元に設定しています。

タップ判定

次に、タップ可能な範囲を設定します。
キャラクター用のオブジェクトの配下に新しくオブジェクトを追加します。
「miro」というキャラクター用オブジェクトに「TochCollider」オブジェクトを新たに追加しました。

 

追加したオブジェクトにタップ判定用のコライダーを追加します。

 

タップ判定用のコライダー範囲をキャラクター全体にしてあげます。

そして「トリガーにする」にチェックを入れます。
この設定をすることで”当たり判定は持ったまま、物をすり抜ける状態”となります。

さらに、イベントトリガーを追加しタップイベントを拾えるようにします。

 

タップイベントの取得方法の詳細はこちらの記事を参照ください。

なお今回は、タッチイベントを処理するスクリプトをキャラクター用のオブジェクトにアタッチしているため、イベントトリガーにはオブジェクトはキャラクター用のオブジェクトを設定しています。

スポンサードサーチ

当たり判定が分かれているか動作確認

ここまで設定出来たら実際に動かして確認してみます。
キャラクターが物に引っかかるのは足元だけですが、タップ判定はキャラクター全体に設定されているのが確認できれば成功です。

 

-Unity, Unity2D, Unity初心者, Unity基礎

Copyright© ぺんごや , 2019 All Rights Reserved Powered by STINGER.