multiple monitor setup with multiple cameras

I’m trying to set up a dual monitor cave-like system in which the first person view is spread across both monitors using a stretched desktop. I want to angle the monitors and use two cameras to take into account this angle. I can get it to nearly look right by setting the FOV of the cameras to 90, and the Y-rotations to -45 and +45, and setting the normalized viewport X to 0.5 for the right-camera, and normalized viewport W to 0.5 for both cameras.

However I do get a little bit of overlap between the two monitors - see below. Why is this? It looks better if the Y rotations are +/-43 but that makes no sense to me. I must be not understanding something about the cameras, but what?

606073--21577--$Sewercave1.jpg

I believe this is coming from the calculation of the FOV. Not sure about which value Unity is displaying, but the horizontal and the vertical FOV is not identical if the screen isn’t square. Can that be the case here?

That sounds plausible. I was assuming it was a horizontal FOV.

Edit:

Looks like FOV is actually vertical…

“Field of view Width of the Camera’s view angle, measured in degrees along the local Y axis.”

No further forward. I’m totally new to Unity. Are the scripts/sources for the camera object available to inspect?

Nope, the camera is implemented on the engine where everything is in native c code.

but if you know what you want to achieve projection matrix wise, you can set it manually

The FOV displayed is the vertical one. Horizontal FOV can be (sort of) calculated from that and the screen aspect ratio. I apologise, but I don’t know the formula off the top of my head, but it should be straightforward.

Edit: Oops, someone already said that. My bad.

Edit to the Edit: Some googling suggests that the correct formulae are something like

focallength = ( width / 2 ) / tan( FovH / 2 ) = ( height / 2 ) / tan( FovV / 2 )
FovV = 2 * ( atan( ( height / 2 ) / focallength ) )
FovH = 2 * ( atan( ( width / 2 ) / focallength ) )

Anyone care to test?