I’m trying to implement some security cameras in my game. If the player sprite is under the camera, he should be safe. All other players in the line of sight should be noticed by the camera. I check the collisions with
hit = Physics2D.Linecast(sourcePoint, LookAtPoint, Physics2D.AllLayers, -2f, -2f);
My problem is now, that the ray of the Linecast end at the first collision. All player sprites have the z layer -2. If a player sprite is behind another, than the camera get no hit for him. To activae a camera a player must be at the same position as the camera, so he is blocking the line of sight for this time. Is there a way to get all hits on the full length of the line?
The image shows the Linecast as red line. The white line shows that the Linecast ends at the first collision. In this case, if another player sprite was in the field below this sprite it won’t be detected.