Projeção da posição da torre e do inimigo no plano
Durante a vídeo aula, foi feita uma projeção da posição tanto da torre quanto do inimigo no plano, na explicação fala que, foi feito isso é porque a distancia não é sempre a mesma.
private bool EstaNoRaioDeAlcance (GameObject inimigo)
{
Vector3 posicaoDaTorre = this.transform.position;
Vector3 posicaoDaTorreNoPlano = Vector3.ProjectOnPlane(posicaoDaTorre, Vector3.up);
Vector3 posicaoDoInimigo = inimigo.transform.position;
Vector3 posicaoDoInimigoNoPlano = Vector3.ProjectOnPlane(posicaoDoInimigo, Vector3.up);
float distanciaParaInimigo = Vector3.Distance(posicaoDaTorreNoPlano, posicaoDoInimigoNoPlano);
return distanciaParaInimigo <= raioDeAlcance;
}
Minhas duvidadas são: Por que a distancia pode variar de acordo com a posição do inimigo? O que esse projeção do plano faz? Se utilizar a posição sem fazer a projeção não da na mesma?