概要Unityのオブジェクト同士の当たり判定は複数用意されており、よく利用されるのが、「重なり」と「衝突」の二つです。前者は「Trigger」、後者は「Collision」として判定する関数が分かれています。当たり判定を行う上で必要な知識として「Collider」と「Rigidbody」の説明を先に行いたいと思います。ColliderColliderはオブジェクトの当たり範囲の設定を行うためのコンポーネントです。Colliderを関連付ける方法Colliderは「Cube」や「Sphere」などの3Dオブジェクトには最初からColliderが関連付けがされています。オリジナルの3Dモデルには自分で割り当てる必要があり、ステージなどの正確な判定がいるモノはMeshColliderを、キャラクターなどの大雑把な判定でも問題ないモデルには「CapsuleCollider」や「SphereCollider」などを割り当てます。Colliderの種類Colliderには複数の種類があります。以下はCollideの一例です。設定を変更することで、当たり範囲の変更が可能です。IsTrigger:全てのColliderには「IsTrigger」があります。このチェックボックスにチェックを入れるかどうかで当たり判定が「重なり」か「衝突」に分かれます。Material:物理属性を含んだ「PhysicMaterial」の設定を行います。Center:このColliderとオブジェクトの中心位置からのオフセット値を設定します。0」はオブジェクトの中心位置となります。オフセット値:基準となる点から相対的な位置にするための数値Size:このColliderのサイズを設定できます。RigidbodyRigidbodyはオブジェクトに衝突による物理的シミュレーションを行うために必要なコンポーネントです。当たり判定を行うためには判定を行いたいどちらかのオブジェクトに対して、このRigidbodyを関連付けておく必要があります。Rigidbodyを関連付ける方法Rigidbodyを関連付けるにはまず、関連付けたいオブジェクト決めます。Component」=>「Physics」=>「Rigidbody」を選択することでRigidbodyが関連付けられます。補間処理を適用して移動をスムーズにしてくれるCollisionDetection:高速で移動するオブジェクトの衝突判定をすり抜けることを防止するためのオプションConstraints:Rigidbodyに関する動きに関する制限をかけるFreezePosition:衝突判定が行われた際に、チェックが入ってる軸に対して移動の影響を与えないFreezeRotation:衝突判定が行われた際に、チェックが入ってる軸に対して回転の影響を与えないオブジェクト同士の重なり判定オブジェクト同士の重なり判定はオブジェクトが重なっているか否かだけを判定します。オブジェクト同士が干渉することはありません。オブジェクト重なりの条件オブジェクト同士が重なっているかどうかを判定するには以下の準備が必要です。重なり判定を行う関数はオーバーライド関数として用意されており、その関数をスクリプト内で定義することで重なり判定を行えます。"Exit");}7.スクリプト「Cube」をゲームオブジェクト「Cube」に関連付けするオブジェクト同士の衝突判定オブジェクト同士の衝突判定はオブジェクトが移動した際に他のオブジェクトと衝突しているかどうかの判定を行います。この判定ではオブジェクト同士に何らかの物理的影響が発生します。速度に応じて衝突後の移動方向が変わります。オブジェクト衝突の条件オブジェクト同士が衝突してるかどうかを判定するには以下の準備が必要です。行う関数はオーバーライド関数として用意されており、その関数をスクリプト内で定義することで衝突判定を行えます。"Exit");}7.Cube.csを「Cube」に関連付けする探している内容が見つからなかったら以下のサイトにあるかもしれません。筆者が開発にかかわらせてもらったアプリのリンクです。