Jump to content

The Lies About Fov


43 replies to this topic

#1 Phaesphoros

    Member

  • PipPipPipPipPipPipPip
  • 513 posts

Posted 10 April 2013 - 05:09 PM

In my last topic(*), The Truth about FoV, I tried to explain that there's one and only one correct or adequate value for FoV, that varies with your screen size and your distance to the screen.
(*)Not the one which was poorly formulated and therefore rightly has been mis-interpreted as QQ

Now, I'll talk about "incorrect" values for FoV.


Erratum: I've taken new pictures with a more adequate description of what's happening after a discussion with Morang. The pics also have a slightly better quality :P


Why even bother with "incorrect" values for FoV?

First of all, the default FPS FoV is about 90° horizontal / 60° vertical. CryEngine uses the vertical FoV as parameter. The vertical FoV for my screen/setup is about 25°, and I guess it's similar for many of you (please read on).
That is, obviously, the default FoV is even an estimate for the correct FoV of most players. Therefore, there must be a reason why not to set it to the correct value. I'll try to visualize the effect of different FoVs.


Disclaimer: The following pics contain material from PGI, maybe licensed by Microsoft.


The test scene

A typical "MWO" scene, top view, where the camera is far far away and zooming (orthographic projection):
Posted Image
Wow, I even have mechs now in my pics :P Though it still looks a bit odd and boring. Oops, the checkerboxes are not rectangular m( nvm

As I said in my last topic, FoV mainly is to match the rendering parameters to the screen size and distance to the user. To visualize different screen sizes, I chose to put a black margin around the following pictures. You'll see at the end of the post.


Looking through the cockpit, default FoV = 60°

The weird thing at the bottom centre of the picture above is a hunchback's cockpit. We'll step into the cockpit, using a camera with default 60° vertical FoV, and place it at the position of the pilot's head. This is what MWO shows per default:
Posted Image

We'll refer to this picture as #0. As you can see, the objects at the edges of the picture are distorted. This is because the FoV value (60°) is not adequate for your screen setup, plus the picture is smaller to enhance to effect.
If this is what MWO displays in fullscreen, and you have a screen of 1.5 m width and are 0.75 m away from it, the screen content won't look distorted (hi again Mr P2W-hugescreen). Or with a 0.5 m wide screen (16:9 diagonal about 23"), you get to 22.5 cm distance (ouch) and everything will look fine.

Let's assume you actually have such a 0.5 m wide screen and look at it from such a uncomfortable distance to get a perspectively correct picture. Then, you move your head back to a more reasonable 0.5 m distance, achieving a FoV of 30°. To get this effect, your avatar pilot had to move its pilot seat back, because you also moved in the real world.


Using the adequate value for FoV (for most cases), 30°

Posted Image
We'll refer to this picture as #1. As you can see, you can't see the JR any more, same with some of the spheres. The edges of the picture are not distorted any more (if you don't have a really weird screen setup). Note that you can still see bits of the cockpit.

^this is NOT what you would see if you could set your FoV to 30° in MWO. Instead, MWO (CryEngine) would display this:
Posted Image
We'll refer to this picture as #2. It's what you get if your pilot doesn't move the seat. And no bits of the cockpit any more.

Imagine your avatar pilot is looking though a picture frame. When the pilot doesn't change the position of the seat, the difference between picture #2 and picture #0 is just like stretching/pinching the picture frame, while holding it at the same distance.


P2W: A larger screen?

Let's get back to picture #1, where you just moved your head back from the screen to a distance of 0.5 m, your pilot has moved the seat accordingly. What happens if you now replace your small screen by the huge screen of Mr P2W?
Posted Image
We'll refer to this picture as #3.
Mr P2W wants to enlarge his peripheral vision but stay at the reasonable distance of 0.5 m to his screen. So he buys a screen that is 2x larger and place it at the former position of his old screen. That is equal to the pilot holding the picture frame at the same distance, but stretching it. He had a vertical FoV of 30° before ("correct value"), and ends up with a vertical FoV of 60° (it's a coincidence that old FoV/new FoV = 0.5, for 0.5 m distance from the screen. FoV doesn't scale linearly with screen size).


No, wait, no P2W

But as you cannot tell MWO how big your screen is, or adjust the pilot seat, you can only get pictures #0 and #2 (where #2 is forbidden due to FoV restrictions imposed by the devs). Though picture #3 would be more adequate to Mr P2W's situation, he'll just get a stretched #0 picture.


Size & scale revisited

As Morang pointed out, if the FoV you set in MWO matches your screen height/distance, the objects always look "correctly scaled" no matter if your pilot's seat is adjusted or not. It's like using only one eye in the real world: You cannot tell how big AND far an object is just by looking at it, you only get its "angular size", i.e. how much of your (real-world) FoV is occupied by the object.
That is why for the image of single virtual camera, there's no difference between "moving the camera nearer to an object" and "making the object bigger (in the virtual world)".
If you have a second camera for stereoscopy (3D displays, HMDs) or add a head-tracking feature, things change and you have to allow to adjust the pilot's seat in order not to make things look weird.


Why using a perspectively incorrect FoV?

Now why do we have a default FoV of 60°, which is inadequate for the majority of setups? I don't know the exact reasons, part of it may be "tradition" since Quake. But one of the reasons could be immersion: You set the FoV to a higher value to get a better peripheral vision. In the real-world, you don't look just through a window that's 0.5 m wide and 0.5 m far away from you. So it's maybe a compromise between immersion because of perspective correctness and immersion because of peripheral vision. (Note again: in the real-world, you'd get closer to the window, but your eyes see through the window, they don't have to focus at the window like this is the case with your screen.)
Compare pictures #1 and #2 with a perspectively correct FoV to picture #0.


Conclusion

As it is a compromise, you are free to set the FoV to any value, but I encourage you to try (once) to set it to your correct value -- but not by changing the value, but rather by moving your head to the right distance. Say, for FoV = 60° and height of screen = 30 cm, that's about 25 cm far from your screen. And then talk about immersion. It's the correct value and yet you have a great peripheral vision -- like you move close to a real-world window. Note getting to close to a screen might be very uncomfortable, so just try this for a short amount of time.

The Occulus Rift (yay! hype!) has this one huge advantage over many of the other HMDs: It's got a large screen, therefore the correct FoV is high enough so you don't need to set it higher for more peripheral vision. AND of course, if there's screen / a picture in your real-life peripheral vision, that's also very immersive.


Some last remarks:
As you can read here, the devs have restricted the FoV to values > 60° horizontal. As zooming (not the advanced zoom) is based on narrowing the FoV, I can understand the reasoning somewhat -- though being puzzled that you cannot set your correct FoV any more due to this.









What's the best FoV for my screen setup?

I can tell you what's the most perspectively correct (or simply "correct") value, but I can't tell you what's the most immersive or useful value for you.
You can find the formula and some additional infos in my last topic, The Truth about FoV.

Here's a step-by-step guide to compute fov = 2*arctan( 0.5*screen height / distance to screen )
If you have (or can measure) the height of your screen; otherwise if you only have the diagonal (like 22"), see below.
  • Measure the height of your screen (visible area).
  • Measure the distance your head (eyes) have from the screen; approximately. Watch out both values should have the same unit (cm, inch, whatever).
  • Compute: 0.5 * height of screen / distance to screen
  • Set your calculator to "degrees" and compute the arctan (tan-1, that is inv+tan on many calculators) of the result from step 3.
  • Multiply by 2.
  • The value you get is the perspectively correct vertical FoV. The most immersive FoV is definitely higher than this value, so it's a minimum.
If you only have the diagonal in inch (like 22") and the resolution:
  • Compute: horizontal resolution / vertical resolution = aspect ratio (like 1920/1080 = 1.777...)
  • Compute: diagonal*diagonal / (aspect ratio * aspect ratio + 1)
  • Extract a root (or to the power of 0.5) => height of your screen in inch
  • Measure the distance your head (eyes) have from the screen; approximately.
  • If you measured in cm, multiple the distance to screen by 2.54 to get it in inch.
  • Go to step 3 of the previous guide.


I hope you enjoy your next matches and maybe you'll find a more immersive FoV value for you. Just try it.

Edited by Phaesphoros, 13 April 2013 - 10:14 AM.


#2 Gristle

    Member

  • PipPipPipPipPipPip
  • 484 posts
  • LocationN. E. Kentucky

Posted 10 April 2013 - 07:35 PM

Huh? I don't get what you are trying to say here.

#3 Moromillas

    Member

  • PipPipPipPipPipPipPip
  • 943 posts
  • LocationSecret **** moon base

Posted 10 April 2013 - 07:46 PM

The pictures are interesting.

Why such depth into FOV?

#4 DjKonline

    Member

  • PipPipPip
  • Legendary Founder
  • Legendary Founder
  • 89 posts

Posted 10 April 2013 - 08:02 PM

I like having an adjustable seat in my car to help me see the road, I am not sure what you problem is here? sometimes I lean in real close to my screen to help me see when I have had one too many adult beverages. increasing the FOV may bring things closer but limits the rest of your spatial awareness. If you don't like seeing things up close that is your preference but remember those who do lose the rest of the viewing field ( as demonstrated in your pics )

#5 Davers

    Member

  • PipPipPipPipPipPipPipPipPipPip
  • Legendary Founder
  • Legendary Founder
  • 9,886 posts
  • Facebook: Link
  • LocationCanada

Posted 10 April 2013 - 08:39 PM

If you are selling bigger monitors, I'm convinced. :P

You put so much effort into these posts. But I really don't get what you are trying to say. But, gg close.

#6 Phaesphoros

    Member

  • PipPipPipPipPipPipPip
  • 513 posts

Posted 11 April 2013 - 03:06 AM

View PostGristle, on 10 April 2013 - 07:35 PM, said:

Huh? I don't get what you are trying to say here.


View PostDavers, on 10 April 2013 - 08:39 PM, said:

If you are selling bigger monitors, I'm convinced. :D

You put so much effort into these posts. But I really don't get what you are trying to say. But, gg close.

Ummm yeah I find it quite hard to visualize and explain, sry.
  • It's quite normal to set the FoV in FPS to a value that isn't perspectively correct, that is, that doesn't match your screen setup (size, distance). This is because of immersion from peripheral vision.
  • If you just change either your screen size or your distance to your screen (not both), than you'll get an effect that cannot be adjusted only by FoV.
  • FoV alone is not enough to get the best/most immersive picture.
  • Actually, a larger screen, a closer distance to the screen or something like NVidia Surround / ATI eyefinity are far better to get a peripheral vision than setting the FoV to a higher value. If you cannot change your screen ($$$$) or are uncomfortable with a closer distance, you'll have to adjust FoV.
  • You should set your game's FoV value to something >= your correct value; as close as possible to the correct value while you're still satisfied with the peripheral vision.
  • For default FoV values (= many FPS) and not very fancy screen setups, you can try to move closer to your screen and get a more immersive picture.

View PostMoromillas, on 10 April 2013 - 07:46 PM, said:


The pictures are interesting.

Why such depth into FOV?

It's Depth of Field of View xD Just kidding. Most people ignore it, but the camera adjustments can make a huge difference IMHO. Even more if you use some sort of stereoscopy (e.g. 3D-displays).

View Postdjkonline, on 10 April 2013 - 08:02 PM, said:

I like having an adjustable seat in my car to help me see the road, I am not sure what you problem is here?

I've edited my post in order to answer that, hope it becomes clearer now. You look through your car's window, but on your screen; that's why you're most probably uncomfortable to move your head to a distance to your screen where you'd have an acceptable peripheral vision (the other way is to buy a huge screen). So the game set up the FoV to a value that's not correct (in terms of perspective); that's somewhat ok as it is probably more immersive, and you can adjust it. But on top of that, you cannot tell the game your screen size, and that leads to all those big stompy robots being out of scale. In MWO like in most other FPS, on a typical 20-24" screen, the mechs IMHO don't look like being >10 metres high (same with trees, houses, etc.), and one reason is the missing screen size adjustment.

Edited by Phaesphoros, 11 April 2013 - 03:09 AM.


#7 Thorn Hallis

    Member

  • PipPipPipPipPipPipPipPipPipPip
  • 5,902 posts
  • LocationUnited States of Paranoia

Posted 11 April 2013 - 03:46 AM

The first picture is a cool reference to the Battletech Master Rules. :ph34r:

#8 Viperion

    Member

  • PipPipPip
  • Hearing Impaired
  • Hearing Impaired
  • 75 posts
  • LocationBergen, Norway

Posted 11 April 2013 - 03:52 AM

So lets say my monitor is 21". So what size of FOV should i use?(relative speaking) the standard 60? or more?

second: whats the command to write in user.cfg? to change the FOV.

#9 BeezleBug

    Member

  • PipPipPipPipPip
  • 125 posts

Posted 11 April 2013 - 04:20 AM

View PostViperion, on 11 April 2013 - 03:52 AM, said:

So lets say my monitor is 21". So what size of FOV should i use?(relative speaking) the standard 60? or more?

second: whats the command to write in user.cfg? to change the FOV.


It is more then the Size. It is about the Resolution ( for example 1920:1080 or 1680:1050 ) and there is a difference between 16:9 and 16:10.

#10 Phaesphoros

    Member

  • PipPipPipPipPipPipPip
  • 513 posts

Posted 11 April 2013 - 04:22 AM

View PostViperion, on 11 April 2013 - 03:52 AM, said:

So lets say my monitor is 21". So what size of FOV should i use?(relative speaking) the standard 60? or more?

In order to calculate the correct FoV value for your setup, you'll need the distance to your screen (head<->screen), and either the screen height (of the visible area) or the aspect ratio (I guess it's 16:9, like for a 1920x1080 resolution?).

The value you should use is the one you're most comfortable with; I think it's safe to assume that it's not below your correct FoV value. Note PGI currently refuses any FoV below 60° AFAIK.

Any value higher than your correct FoV lead to perspective distortions, best visible at the edges of your screen. But a higher value means more peripheral vision.

View PostViperion, on 11 April 2013 - 03:52 AM, said:

second: whats the command to write in user.cfg? to change the FOV.

a line

cl_fov=42

(where you replace 42 with the floating-point value like 65.253452 you want to set as FoV)

Edited by Phaesphoros, 11 April 2013 - 04:24 AM.


#11 Captain Stiffy

    Member

  • PipPipPipPipPipPipPipPipPip
  • Liquid Metal
  • Liquid Metal
  • 2,234 posts

Posted 11 April 2013 - 05:20 AM

View PostDavers, on 10 April 2013 - 08:39 PM, said:

If you are selling bigger monitors, I'm convinced. :ph34r:

You put so much effort into these posts. But I really don't get what you are trying to say. But, gg close.


I don't see how distance from the screen matters. Maybe pilot head distance from the glass does.

Just tell us what value to use for common monitors...
1680x1050 22" = FOV ???

Edited by Captain Stiffy, 11 April 2013 - 05:21 AM.


#12 Noobzorz

    Member

  • PipPipPipPipPipPipPip
  • 929 posts
  • LocationToronto, ON

Posted 11 April 2013 - 05:51 AM

I understand but I don't really want to be looking at my cockpit. As an aesthetic choice, I agree with it.

#13 Phaesphoros

    Member

  • PipPipPipPipPipPipPip
  • 513 posts

Posted 11 April 2013 - 05:53 AM

View PostCaptain Stiffy, on 11 April 2013 - 05:20 AM, said:


I don't see how distance from the screen matters. Maybe pilot head distance from the glass does.

Just tell us what value to use for common monitors...
1680x1050 22" = FOV ???

As you can read in my post The Truth about FoV, a perspectively correct FoV is determined using

screen height / distance to screen

Therefore, both matter.

for your screen:
(distance to screen in cm; fov in °)
(10; 112)
(25; 61)
(30; 53)
(50; 33)
(70; 24)
(90; 19)

^you shouldn't use a value smaller than that, but rather a value higher, increase it until you're satisfied with the peripheral vision. Note MWO currently doesn't allow FoVs below 60° anyway.

Edited by Phaesphoros, 11 April 2013 - 05:57 AM.


#14 Soy

    Member

  • PipPipPipPipPipPipPipPipPip
  • 3,689 posts
  • Locationtrue Lord system

Posted 11 April 2013 - 05:54 AM

Nothin wrong with a lil FoV tweakin'

#15 King Arthur IV

    Member

  • PipPipPipPipPipPipPipPipPip
  • Moderate Giver
  • 2,549 posts

Posted 11 April 2013 - 06:01 AM

does this fov effect sense of scale?!?!?!

even if it doesnt, i still feel scale is alil wrong in the game.

#16 Phaesphoros

    Member

  • PipPipPipPipPipPipPip
  • 513 posts

Posted 11 April 2013 - 06:09 AM

View PostKing Arthur IV, on 11 April 2013 - 06:01 AM, said:

does this fov effect sense of scale?!?!?!

even if it doesnt, i still feel scale is alil wrong in the game.

That depends on CryEngine's implementation of the camera, but I think yes. IIRC CryEngine keeps the "size of the view frustrum at focus distance", i.e. the size of your screen in the virtual world, the same for all FoVs. Therefore, if you don't move in the real-world, and don't change the size of your screen, changing the FoV should also affect how you perceive the size of virtual-world objects.

#17 Skunk Wolf

    Member

  • PipPipPipPipPipPip
  • FP Veteran - Beta 1
  • 286 posts

Posted 11 April 2013 - 06:10 AM

Could we please have an objective summary on what you wished to express?

#18 Viper69

    Member

  • PipPipPipPipPipPipPipPipPip
  • 4,204 posts

Posted 11 April 2013 - 06:18 AM

View PostPhaesphoros, on 10 April 2013 - 05:09 PM, said:

The Occulus Rift



How did I know your posts were just a commercial for the Occulus rift? You guys dont give up easy do you.

#19 Phaesphoros

    Member

  • PipPipPipPipPipPipPip
  • 513 posts

Posted 11 April 2013 - 06:26 AM

View PostViper69, on 11 April 2013 - 06:18 AM, said:

[/size]
How did I know your posts were just a commercial for the Occulus rift? You guys dont give up easy do you.


:ph34r: I actually know some guys who worked for the Zeiss Cinemizer, and eventually told them once "FoV is everything" after playing Crysis at a 100" rear-projection screen (+ stereoscopy) from 0.5 m distance (that is, a correct vertical FoV of 100°). One or two years later I heard about the Occulus rift.... we'll see if it's any good when the consumer version is released next year. It could be very immersive, but it objectively has an advantage over many of the current HMDs.

Of course, you can use a large screen instead; it's even better than the Occulus rift in terms of perspective as you might have a higher resolution and certainly a greater distance to the screen. Yet, you don't have the fancy "head-tracking" of an HMD.

#20 Viper69

    Member

  • PipPipPipPipPipPipPipPipPip
  • 4,204 posts

Posted 11 April 2013 - 06:31 AM

I adjusted the FOV settings in the CFG file and it sets you back a little in the pilot seat.

BTW just razzin you about the rift thing,, hey the more tech the better. Myself I use the TrackIR if we ever get support for it.





2 user(s) are reading this topic

0 members, 2 guests, 0 anonymous users