Raycasts

Um raycast é, reduzidamente, uma linha traçada entre um ponto de origem e um de um ponto destino, a utilidade disto vem de que podemos detectar com quais objetos essa linha colidiu em seu trajeto.

Exemplos de uso de Raycast:

O último pode ser feito da seguinte forma:

LayerMask chaoMask;
float distanciaChao;

void Start()
{
	chaoMask = LayerMask.GetMask("Chao");
	// Define uma máscara para a camada chão
}

void Update()
{
	var hit = Physics2D.Raycast(transform.position, Vector2.down, 100.0f, chaoMask)
	// Faz um Raycast da posição do jogador para baixo, com uma distância máxima de 100 unidades, que só pode colidir com objetos na camada Chao
	// a variável hit guarda as informações da primeira colisão desse raycast
	
	if(hit != null) // se o raycast recordou uma colisão, pegamos sua distância
	{
		distanciaChao = hit.distance;
	}
	else
	{
		distanciaChao = -1;
	}
}