Я хочу создать траекторию отражения, используя рендеринг линий, используя 2d физику.Рефекция не работает должным образом, иногда она работает, а иногда нет.для 3d все работает нормально, если просто заменить vector2 на vecor3 и использовать физическую функцию 3d.
Возможно, это связано с коллайдером, или же я добавил коробочный коллайдер 2d на цветные блоки.
Iнаписал свой код
void GenerateRay(Vector2 position , Vector2 direction , int count){
if(count==0) return;
Vector2 oldPosition = position;
RaycastHit2D hit = Physics2D.Raycast(position , direction , maxRayLenght);
if(hit.collider!=null){
direction = Vector2.Reflect(direction , hit.normal);
print(direction);
position = hit.point;
print(position);
}
else
{
position += direction*maxRayLenght;
}
lineRenderInstance[maxHop-count].SetPosition(0 , oldPosition);
lineRenderInstance[maxHop-count].SetPosition(1 , position);
GenerateRay(position , direction , count-1 );
}
если я изменю расстояние y, отражение иногда работает, а иногда нет. [!
нерабочий случай

Рабочий случай, если изменить высоту 
