У меня есть доска с клетками, некоторые нормальные, а некоторые - стены.Я хотел бы установить линию между двумя точками и знать, сталкивается ли она с клеткой стены.
Вот мой код:
private void OnDrawGizmosSelected()
{
RaycastHit2D raycast = Physics2D.Raycast(from, to, Vector2.Distance(from, to), layerMask);
if (raycast.collider == null) { Gizmos.color = Color.green; Gizmos.DrawLine(from, to); }
else { Gizmos.color = Color.red; Gizmos.DrawLine(from, to); }
}
Это работает 80% времени.В определенных точках на карте это вообще не работает.
Пример, когда все в порядке

В этом случае это нормально, ноесли я опущу свою правую нижнюю точку примерно на 0,2, она больше не будет работать.
Пример, когда все не в порядке

Myлиния проходит зеленым цветом, как будто стены вообще нет.
Я установил BoxCollider2D и мой слой на ячейке стены.