目次

071 Linecastを使った地面との当たり判定

概要

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との当たり判定を行うことが出来ました。