衝突したオブジェクトのコライダー情報
衝突したオブジェクトがひとつ以上のコライダーがある場合に役に立ちます。このプロパティーを使用して、オブジェクトだけでなく特定のコライダーを判定できます。
RaycastHit2D を返すいくつかの関数はコライダーを Null としたままにすることに注意してください。これは何も衝突してないことを示します。RaycastHit2D は明示的な変換の演算子を実装しているため、このプロパティーをチェックして衝突があったかどうかを boolean で返します。
#pragma strict //Attach this script to an empty gameobject. //When you click on a sprite with a collider it will tell you it's name. function Update() { //If the left mouse button is clicked. if (Input.GetMouseButtonDown(0)) { //Get the mouse position on the screen and send a raycast into the game world from that position. var worldPoint = Camera.main.ScreenToWorldPoint(Input.mousePosition); var hit = Physics2D.Raycast(worldPoint, Vector2.zero); //If something was hit, the RaycastHit2D.collider will not be null. if (hit.collider != null) { Debug.Log(hit.collider.name); } } }
using UnityEngine; using System.Collections;
//Attach this script to an empty gameobject. //When you click on a sprite with a collider it will tell you it's name. public class ExampleClass : MonoBehaviour { void Update() { //If the left mouse button is clicked. if (Input.GetMouseButtonDown(0)) { //Get the mouse position on the screen and send a raycast into the game world from that position. Vector2 worldPoint = Camera.main.ScreenToWorldPoint(Input.mousePosition); RaycastHit2D hit = Physics2D.Raycast(worldPoint,Vector2.zero);
//If something was hit, the RaycastHit2D.collider will not be null. if ( hit.collider != null ) { Debug.Log( hit.collider.name ); } } } }