Есть ли PolygonCollider
с, как вы заявили или PolygonCollider2D
?
Physics2D.RaycastAll
нужно PolygonCollider2D
, чтобы поразить их!
Я не думаю, что в вашем вызове метода что-то не так.
(не может быть что-то не так с signature
... он не скомпилируется чем)
Вы уверены, что все коллайдеры находятся между этими двумя точками?
В зависимости от того, что вы хотите там сделать, вы, скорее всего, захотите использовать 3D-трансляцию с использованием Physics2D.GetRayIntersectionAll
var ray = new Ray(viewpoint.transform.position, direction);
var raycastHits2d = GetRayIntersectionAll(ray);
Также обратите внимание:
Обратите внимание, что эта функция будет выделять память для возвращенного массива RaycastHit2D.Вы можете использовать GetRayIntersectionNonAlloc , чтобы избежать этих издержек, если вам нужно часто делать такие вызовы.