.... and all the truth It's so P2W....
Well I thought why not make some nice pictures about what FoV actually is. Seems like I failed, though..... *shrug* look very much like the mathematics program I made them in.
0th of all: To everyone that already knows about what FoV value (s)he prefers: CryEngine uses a vertical FoV value, many other FPS use(d) a horizontal FoV value. You can find some calculators to get vertical from horizontal using google, e.g. found this one: fovcalculator
FPS default value for horizontal FoV is about 90°, that is for a 16:9 display about 60° vertical -- which matches CryEngine's default value.
First of all: What is FoV?
Field of View is some parameter used in the process of rendering the virtual world (i.e. the big stompy robots) to your real-life screen:
As your screen is flat but the mechs are fancy 3d since 1989, you need some kind of procedure to flatten or project the virtual world onto the screen surface (pixels). This is done using what is called a perspective projection, in order to make it look like your screen is a window to the virtual world (mind you, it's the part of the screen where the MWO window is on, but I'm assuming full-screen mode).
woooo! fancy 3D!! actually, of of the pics here are created with 3D models, even if some might look very flat (they're orthographic projections)
The perspective projection is set up using an object in the virtual world, a virtual camera. This camera has a position in the virtual world (that is changed when your avatar/pilot moves in the virtual world), an orientation (changed when you look around or turn) and some "fixed" parameters, one of those can be set up using FoV.
These parameters are necessary for two reasons:
- Graphics gimmicks like zooming
- Real Life is not a constant
Therefore, the virtual camera has to be set up to match your real-life screen. Two examples with same screen size, but different distances:
(note this is a 16:9 screen, 0.5 m width = 0.3 m height; 1.5 m width = 0.9 m height)
If you're close to a window, you'll see more of what's next to the window, same here e.g. with the green sphere. As the resolution of a screen is limited, you'll actually get more details in the distance when you're far from the screen (!), example #1.
Please also note on the second example the sphere in the "screen content" does not look circular - well actually it would if you went with your nose to your screen and looked at a 400 % enlargement.
What's the relation to FoV?
Thanks to p00k for pointing out that CryEngine uses a vertical FoV rather than a horizontal FoV.
Side view:
Vertical Field of View is twice the angle between the line from you to the center of your screen ("distance to screen") and the line from you to the center of the bottom/top of your screen. Crap, just look at the picture.
The only formula you'll see here:
Yes, there's a correct or, in other terms, adequate value for your FoV. You can calulate it using the above formula; with the Windows Calculator, first compute the fraction, then apply Inv+tan (radio button set to "Degrees"), then multiply by 2. Mine is about 25°, btw, wtf...
You can set it in the user.cfg file as a line
cl_fov = <insertyourvaluehere>
e.g.
cl_fov = 50
Of course, you can use other, "wrong" values. But you'll get some effects like with the sphere above: The perspective is not right. Same thing when you look at a steep angle to your screen.
Interesting find:
The default value CryEngine uses is 60°. That is, if you have a 24" screen (diagonal), that's about 50 cm wide and 30 cm high (visible area). To get a vertical FoV of 60°, you have to be about 25 cm far from your screen (distance eye <-> screen surface). WTF.
Horizontal and vertical FoV:
Some games use a horizontal FoV value, CryEngine uses a vertical FoV value to set up the virtual camera. You can calculate the horizontal FoV just like the vertical one by replacing "screen height" with "screen width". Also note that the two values are redundant, as your resolution (e.g. 1920x1080) determines the aspect ratio of your screen. With the aspect ratio, you can calculate horizontal FoV from vertical FoV and vice versa.
Now, FoV is one parameter. There are others (AFAIK we cannot adjust them!). Why is this relevant?
Vertical Field of View is a combination of the two parameters "distance from screen" and "height of screen". The "width of screen" can be calculated using the resolution; e.g. 1920/1080 = 16/9. That's another reason to use a resolution with the aspect ratio of your screen, btw.
But those two parameters (distance, height) cannot be extracted from the single FoV value - that is, there are several possible setups with the same FoV value.
I'll add a third example to the two above, that has the same FoV value as the second. There, someone uses a huge 1.5 m * 0.9 m screen (same aspect ratio 16:9):
This is mister P2W. He's got a 1.5 m wide screen, that is 60" wide, and 70" diagonal o.O Obviously, he's using MC coolant flush, arty, air strike and the 6ERPPC STK to get the most P2W out of the game.
But: He won't get any advantage just from using a large screen. His FoV is the same as in the second example. So if he (can) only adjusts the FoV value, he'll NOT get the screen content shown above, but rather the same screen content as example #2. As Morang pointed out (thank you), that does not mean he'll see wrongly scaled mechs -- at least if you don't start with fance things such like head-tracking or stereoscopy (that's my background and therefore the reason I got this wrong first).
NOOOOO I'M OUT OF PICTURESS!!!
Size & FoV
Although Mr P2W should see even more on his screen than poor example #2, this is not the case. To match his screen setup, MWO had to allow to move the pilot's seat back (if you increase your distance to the screen), compare the screen distance of #2 to Mr P2W.
Why isn't this allowed? Well, because that alters gameplay:
- If you move your seat far enough back - yay! 3rd person!
- If you move it too far forward, there's no cockpit obstructing your view.
- There are additional issues with "wall-hacks", namely, the bounding box of your mech has to be adjusted in order to prevent your from looking into any geometry - there aren't any textures inside, therefore you can just look trough (even through the opposite side!).
Conclusion
THERE CAN ONLY BE ONE!!!!!11eleven true FoV value, but it's different for each screen setup.
To see more of what's to your side (peripheral vision), you'd normally use some NVidia Surround / ATI eyefinity setup.
Or you move the position of the camera, e.g. so that all of the cockpit's windows are displayed on your real-life screen. This is equivalent btw to your avatar/pilot moving her/his head to/from the windshield.
TL;DR
Rly? Screw you. If you want to adjust your FoV to a more immersive value, continue not reading here: The Lies about FoV
Edited by Phaesphoros, 12 April 2013 - 01:56 PM.