kikki's tech note

技術ブログです。UnityやSpine、MS製品など技術色々について解説しています。

Unityで当たり判定を複数使い分けるには

本章では、Unityで当たり判定を複数使い分けるの方法について、共有します。

3Dモデルへの当たり判定の追加

Unityでは、MayaやMaxなどで作られたオブジェクトに対して「Rigidbody」「Collider」を追加することで、当たり判定の範囲や衝突シミュレーションを行うことができます。基本的には、一つのオブジェクト(リグ・ボーン)に対して、一つの当たり判定となりますが、状況に応じて当たり判定の場所や大きさを変更したいケースがあります。その際、オブジェクトに追加されたColliderの大きさや場所を移動させることで対応できますが、アニメーション中の位置座標や回転量を計算して変更することは難しいです。

そこで今回、当たり判定が複数必要な場合に、当たり判定を簡単に使い分ける方法について、解説します。

サンプル

以下手順の通り、当たり判定を複数用意しました。

  1. ユニティちゃんをヒエラルキーに配置
  2. 当たり判定が必要なオブジェクトに子オブジェクトを複数配置
  3. 子オブジェクトを当たり判定が必要な位置に移動
  4. オブジェクトに当たり判定としてColliderを設定
  5. アニメーションに応じて当たり判定の有効・無効をプログラムで制御

f:id:kikkisnrdec:20150702102943p:plain

ここで重要な点として、当たり判定が必要なオブジェクトに対して、子オブジェクトを配置することです。Colliderは、一つのオブジェクトに対して一つまで追加できるため、使い分ける際には別のオブジェクトを用意する必要があります。

サンプルに利用したユニティちゃんは、こちらからダウンロードし利用できます。unity-chan.com
公開されているので、是非利用してみてください。

総括

Unityでは、3Dモデルを利用したゲーム開発で必要となる当たり判定の計算を自動で行ってくれます。使い方を少し考えるだけで、開発の幅が広がるので色々と試行錯誤してみて下さい。
以上、「Unityで当たり判定を複数使い分ける方法について」でした。

※無断転載禁止 Copyright (C) 2015 kikkisnrdec All Rights Reserved.