使用射线Raycast判断某个方向是否有碰撞体

2025-01-03 01:22:38
推荐回答(1个)
回答1:

public class NewBehaviourScript : MonoBehaviour {
void Start () {
if (Physics2D.Raycast(this.transform.position, Vector2.down, 10.0f,
1 << LayerMask.NameToLayer("Collider"))) {
string colliderName = Physics2D.Raycast(this.transform.position, Vector2.down, 10.0f,
1 << LayerMask.NameToLayer("Collider")).collider.gameObject.name;
Debug.Log("Collider " + colliderName + " is under the CubeUp");
}
else {
Debug.Log("No collider is under the CubeUp");
}
}
void Update () {
}
}
可以看到这里需要把下方物体CubuDown的Layer设置为Collider(上方物体CubeUp不需要设置):
运行后:
即可以检测到下方有碰撞体。