Widescreen Gaming Forum

[-noun] Web community dedicated to ensuring PC games run properly on your tablet, netbook, personal computer, HDTV and multi-monitor gaming rig.
It is currently 26 Nov 2024, 21:16

All times are UTC [ DST ]




Post new topic Reply to topic  [ 10 posts ] 
Author Message
 Post subject: Ideal FOV calculation
PostPosted: 19 Oct 2014, 20:20 
Offline

Joined: 19 Oct 2014, 19:45
Posts: 4
I had a hard time finding the right forum for this topic. None of them really fit. I think this is the closest one.

I'm working on a FOV calculator that calculates the ideal FOV for a given screen width and viewing distance. There is a formula that calculates the FOV as if the screen were a window that you look through:
Code:
fov = rad2deg(2 * atan(0.5 * width / distance));
Result for a screen width of 60 cm and a distance of 75 cm: 43.6°

But of course that would be much too narrow to be actually usable. It would feel very unnatural and claustrophobic because normal single-monitor set-ups would not provide much if any peripheral vision. So, I'm looking for some kind of modifier that improves this base formula to give a more satisfying result. Personally I found out that with my 27" 16:9 monitor a FOV around 105 is the best compromise between a wide FOV and mostly unnoticeable distortion, which is roughly 60° more than what the base formula calculates. Simply adding 60° seems to work. At the end of the 90s it was common to play a game like Quake on a relatively small monitor like 19" 4:3 with a FOV of 90°. With my 60° addition the result for such a monitor would be very close to that.

But I wonder if there is a more sophisticated approach that yields equally good results for very small and very large width/distance ratios, like a TV from far away or triple displays right in front of you. How do you guys determine the best FOV for your set-up?


Top
 Profile  
 


PostPosted: 21 Oct 2014, 01:42 
Offline
Editors
Editors
User avatar

Joined: 08 May 2011, 18:58
Posts: 2286
i've always done the trial & error method.
Set FOV... test it out... changed it... test out again...
If anyone has a formula to correctly calculate these values. We'll take it!

_________________
We gonna send it to outa space!


Top
 Profile  
 
PostPosted: 28 Oct 2014, 19:53 
Offline
Administrators
Administrators
User avatar

Joined: 27 Dec 2009, 14:27
Posts: 1789
Haldi wrote:
If anyone has a formula to correctly calculate these values. We'll take it!


*cough* http://wsgf.org/fovcalc.php *cough*
Also you may find a working example (with keyup event binding on the input boxes) of my script for FOV calculation here http://jsfiddle.net/p1vz3a3s/

This calc is designed to take what was as you rightly pointed out a common setup in games such as quake, a 4:3 screen, often 1024x768 at 90 degrees fov, then transposing that to what should be the ideal fov on a different aspect ratio screen such as 1920x1080, not sure if it will help you out, but there it is :)

_________________
| Gigabyte X79S-UP5-WiFi Skt2011 | i7 4820k @4.4GHz Watercooled (Ivy Bridge-E) | Corsair Vengence 32GB @2133MHz 11-11-11-27 2T Quad-Channel (8x4GB) | AMD R9-Fury-X 4GB @1140/505MHz + EKWB Watercooled | 256GB Crucial MX200 SSD | 8x 1TB Samsung F3 SATA-II | Corsair 850W TX PSU | 3x Dell S2209W 22"wide TFT's (5760x1080res) | Logitech Z-5400 5.1ch speakers | Win7 Ultimate x64 |


Top
 Profile  
 
PostPosted: 29 Oct 2014, 10:28 
Offline

Joined: 19 Oct 2014, 19:45
Posts: 4
Delphium, you miss the point here. The proper FOV doesn't depend on screen resolution or aspect ratio but how wide the screen appears to you (the ratio of physical screen width and viewing distance). The goal is to match the game FOV to the human FOV so that it feels natural and comfortable. For example, if you had a triple-monitor setup viewed from 5 meters away, it would appear narrower than a much smaller single monitor that is right in front of you. In that case you should actually use a higher FOV for the smaller single monitor than for the triple-monitor setup.


Top
 Profile  
 
PostPosted: 29 Oct 2014, 14:49 
Offline
Editors
Editors
User avatar

Joined: 06 Mar 2008, 17:20
Posts: 3424
Hancoque wrote:
There is a formula that calculates the FOV as if the screen were a window that you look through:
I get the idea and I'm sure it gives interesting results, but AFAIK a virtual 3D world's camera frustum and the portion of the landscape you see through a window are two different things that don't obey to quite the same rules...

Also if distance = dolly and FOV = zoom, I don't see how any universal "zoom because dolly" formula would produce anything "ideal". But my own inability to understand math is a huge factor here.


Top
 Profile  
 
PostPosted: 02 Nov 2014, 21:30 
Offline

Joined: 19 Oct 2014, 19:45
Posts: 4
Interesting that you see the FOV primarily as a zoom. Yes, lowering the FOV results in a zoom effect, but what the FOV actually means is the field of vision, the angle that the screen shows you of the world. If you have a given window width, then moving further away from the window decreases the angle that you can see through the window, while getting closer to it increases the angle. Now imagine you play a game with a fixed FOV and change the screen width or your distance from the screen. The result would be that the angle should change but it doesn't. And that causes awkward results. With a too narrow angle many people get motion sickness or feel anxiety. It's like tunnel vision. But when the FOV is too high, you'll notice an annoying distortion in the picture (fish-eye effect), because the distortion increases to the edges of the screen and you have too much of that distortion in your core field of vision. So the goal is to find the ideal FOV value for your setup (described by the viewing distance and screen width) which is something between too narrow (tunnel vision) and too wide (distortion). Normally this is something between the value calculated by the formula and the actual human field of vision (140°).

Racing sim fans prefer to stick to the formula as it is, because they like the realistic window approach. But to simulate a realistic human field of vision, you would have to have a monitor that is wider than 4 meters at a distance of 75 cm. Nobody has such a setup. So you always have to add something on top of the base result to achieve a satisfying result. As I said in my initial post, adding 60° to the result seems to be the sweet spot, at least for me. I tested it by artificially decreasing the screen width by using windowed mode at different resolutions and changing the FOV accordingly. The subjective impression was basically the same in all cases when using the proper FOV, which ranged from 80° (smallest window) to 105° (fullscreen).


Top
 Profile  
 
PostPosted: 07 Nov 2014, 16:10 
Offline
Editors
Editors
User avatar

Joined: 06 Mar 2008, 17:20
Posts: 3424
Again, that's a lot of "realistic", "subjective" and "ideal" stuff... Hard to argue with that. Screenshots, pictures and videos would be great to see how your results differ from classic FOV calculation.


Top
 Profile  
 
PostPosted: 07 Nov 2014, 20:04 
Offline

Joined: 19 Oct 2014, 19:45
Posts: 4
To clarify things: This is not an alternative to other calculators. Other calculators have another purpose. They calculate a new FOV for a new aspect ratio based on a given FOV for a different aspect ratio. So if you have a 4:3 resolution with a FOV of 90° you would get a FOV of about 106° with a 16:9 resolution. But that's not my goal. If the 4:3 resolution is displayed with the same physical width as the 16:9 resolution, the FOV should actually stay the same. It's the physical width relative to the viewing distance that counts. Take your smartphone with a 16:9 resolution and take your 27" monitor with a 16:9 resolution. Both have roughly the same viewing distance. Would you really set them to the same FOV just because they have the same aspect ratio? That would be utterly wrong, because the smartphone screen is much smaller and covers a much smaller angle of your human vision than the much larger monitor. The FOV has to be set according to how large the screen appears to you.

Also, I didn't invent the base formula. It comes from this article. I just changed it so that the result is the FOV instead of the distance. But unless you have an extremely wide screen (more than 4 meters at 75 cm viewing distance) then the FOV would be too low because it would lack to simulate peripheral vision that a human needs to have a natural sense of vision, as it would feel very unnatural if you constantly had a narrow window in front of you that you had to look through, like wearing blinders. So you have to increase the angle to make it more natural and that should be done based on the base FOV so that you can quickly calculate the ideal FOV for any given screen width and viewing distance. This can also help to find the ideal viewing distance if you cannot change the FOV in a certain game. For games with a very narrow FOV that cannot be changed the only solution would be to sit further away or to decrease the screen width (like using windowed mode with a smaller resolution).

But I think I have to show a picture to describe it better:
Image
The picture shows different combinations of window widths and viewing distances and how they result in a certain FOV. You'll notice that if you increase both equally the FOV stays the same, as it is the ratio that counts. As I already said, the actual FOV setting in a game should be higher to take the peripheral vision into account. I would simply add 60°. What's really important to understand is that it's not about resolution or aspect ratio, but how wide the screen appears to you. If you move further away from a screen the resolution doesn't change, nor does the aspect ratio. But the FOV should change.


Top
 Profile  
 
PostPosted: 26 Dec 2014, 14:46 
Offline
Editors
Editors
User avatar

Joined: 06 Mar 2008, 17:20
Posts: 3424
Ok, here's my problem with your theory. (I don't mean to be snarky, just trying to follow my train of thoughts on a very interesting but uncomfortably math-y subject...)
You took an 'ideal distance to big-ass picture' formula and extrapolated it to 'HFOV depends on distance'. And as a result of this wrong premise, you've just discovered zoom. Then you add 60° to everything, because reasons.

Your diagram looks like a reference chart for making binoculars and makes little sense otherwise. It seems you're blending viewer FOV, camera FOV and 'portion of viewer FOV occupied by screen' into one abstract number that doesn't actually represent anything.
The angle between your eye and the edges of the screen should be constant, because that's what you're trying to achieve by moving away from a large screen, and close to a small one - although probably not in a linear fashion.
What the diagram seems to demonstrate is how a given object in front of the game's camera will look equally distant to the viewer at e.g 90°/close and 28°/far. Good from a fixed perspective, but gameplay involving any camera movement will be increasingly destroyed as you get further. Hence it can't be an ideal FOV.

The 'ideal distance to a locked FOV' approach seems equally flawed. Tunnel vision is the same if you're driving the bus or sitting on the back bench, so to speak. Couch potato-friendly games usually have a lower FOV than PC exclusives mostly because they're designed for the slow camera panning capabilities of gamepads. Not because "a low FOV is better when you're sitting away from the screen" like a lot of gamers and developers like to say. Not that it is entirely wrong either, but you can't derive one definite formula from so little.

Since the viewer's FOV, camera's FOV and actual screen size can only coincide in a minority of scenarios (basically: projection and VR), the search for an ideal-FOV-per-distance is moot. I don't think any of your explanations have proven me wrong so far, at least.

Again, the blunt tone if mostly the effect of my own lack of confidence... No offense intended.


Top
 Profile  
 
PostPosted: 23 Dec 2015, 23:44 
Offline

Joined: 25 Jun 2007, 07:27
Posts: 18
Setting the FOV using the screen size and viewpoint isn't really ideal, unless you really want to get an out-the-window type view. In most games, this approach will result in extremely narrow zooms.

The idea isn't to match the screen to your eyes though. To get a complete panoramic view that way, you'd need a screen large enough to cover your entire field of view... That's probably not practical for most gamers.

Instead, it's much easier to exaggerate the FOV as much as necessary to give you a wide viewing range inside the limited viewing space provided by the screen. The ideal FOV angle, however, is something that's highly subjective and also dependent on your own screen size and distance, so I would say a one-method-fits-all solution probably doesn't exist. This is why games (should) have FOV controls in their settings.

For me, I play on 3x 1080p screens, and I find a FOV value of 110° or thereabouts works well in most cases. That's personal preference though. I tend to prefer wider than average FOVs on most situations anyway. Using the trig approach, I'd say the screens cover about a 60° arc of my field of vision... If you assume this relationship is a linear one (of FOV 'boost' vs the 'window view formula' FOV), then you could just factor in a fixed multiplier to the output. In my case it'd be about 1.9 or so.

Cheers


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 10 posts ] 

All times are UTC [ DST ]


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  




Powered by phpBB® Forum Software © phpBB Group