I'm making a 1st-person shooting gallery game where targets pop up randomly in 3D space and players touch-and-drag on their phone screens to move a cursor over the target and fire. I'd really like to use Z-elevation for the targets as I like the easy 3D perspective...but because objects at different z-elevations don't have their collision polygons move or change size, the player's cursor might look like it's lined up with a target only for it to not be considered overlapping it because of the target's z-elevation...
In this mockup, player's cursor is over a target with a high z-elevation, so it looks like they should be able to shoot it there but in reality, cursor and target aren't considered overlapping here!
So is there any clever way I can detect when my cursor object is overlapping a target at a higher z-elevation where it appears to be on the screen, rather than where its actual un-elevated collision polygon is? Oddly, it seems like mouse and touch can detect a z-elevated object where it appears, but object collisions (like with my cursor object) can't...