Physics2D.Linecastを使って、地面との当たり判定をレイヤー単位で検知します。
using UnityEngine; using System.Collections; public class Player : MonoBehaviour { public LayerMask groundLayer; // 着地できるレイヤー void Update() { // 地面との衝突を検知する。 RaycastHit2D hit = Physics2D.Linecast( transform.position, // 始点 transform.position - transform.up * 1.2f, // 終点 groundLayer ); if( hit.collider ) { // 処理を書く。 } } }
groundLayerには当たり判定に用いるGameObjectのレイヤーを指定します。
ここではStageObjectレイヤーが指定されているGameObjectを当たり判定に用いるので、StageObjectを指定してあげます。
これで地面とするStageObjectとの当たり判定を行うことが出来ました。