Я делаю игру, похожую на покемонов, где вы ходите. Это 2D-игра сверху вниз. Однако я пытаюсь обнаружить определенную плитку передо мной.
Мой персонаж находится в Y 1, а карта в Y 0. Я пытался перенаправить raycast, но это не сработало.
вот что я пробовал:
if (Input.GetKey("w") && isMoving == false)
{
bool disableMove = false;
RaycastHit hit;
if (Physics.Raycast(transform.position, Vector3.forward, out hit, 2))
{
var distanceToGround = hit.distance;
Debug.Log("HIT");
if (hit.collider.gameObject.tag == "collision")
{
disableMove = true;
Debug.Log("Tree");
}
}
if (!disableMove)
{
Calculatewalk();
anim.Play("WalkingUp");
increment = 0;
isMoving = true;
startPoint = transform.position;
endPoint = new Vector3(transform.position.x, transform.position.y, transform.position.z + 1);
}
disableMove = false;
}