====== 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のレイヤーを指定します。 {{:wiki:unity:tips:unity_linecast2d.png?200|}} ここではStageObjectレイヤーが指定されているGameObjectを当たり判定に用いるので、StageObjectを指定してあげます。 {{:wiki:unity:tips:unity_linecast2d_02.png?200|}} これで地面とするStageObjectとの当たり判定を行うことが出来ました。