Forum Discussion

🚨 This forum is archived and read-only. To submit a forum post, please visit our new Developer Forum. 🚨
Tgaud's avatar
Tgaud
Honored Guest
13 years ago

FOV in game?

Actually I just received my rift, and I can see there is three sets of lenses.

Each set give us a different FOV.

(Lets forget the stereoscopy here, and imagine we have just one eye/image)

But the Final FOV we see, is supposed to be the restitution of internal camera (with a fov too) right ?
So does it means that when my Fov in game is 90degree (most case scenario) There will be some stretching (before distorsion) of the image so it can ben displayed inside the rift on a 110 degree FOV ?

In my Opinion each image perceived with eye inside the rift, should have the same FOV than the image captured by the "virtual camera" representing the eye ingame.
So every size is respected And every rotation too.

I really cant figure how a fixed FOV inside the game can be used with 3 diferents lens/FOV without perceiving the shapes and size modified..

10 Replies

  • Many games (including the Oculus samples/demos) have FoV adjustments in the game. Adjust it for what feels right for you (so VR objects stay in place, and do not stretch/move with or contrary to your head motions).
  • Tgaud's avatar
    Tgaud
    Honored Guest
    Yes. But isnt there something more "mathematic" than personnal subjective feeling ?

    And what if I create a game, and the User decide to change the oculus lens, he wouldn't have the FOV that the game is designed for..
  • Invoke's avatar
    Invoke
    Honored Guest
    You can design the game the way it looks right for most users or assume perfect vision (give calibration options though don't get me wrong)

    As far as I know the eyecups are meant for the users themselves to correct for deviations in their eyes so they can change their vision to be as close to perfect as possible. So you can't expect users to choose a certain set of eyecups to fit your game, they do it based on what looks best for them.

    You can get configuration data (including which eyecups the user chose) from the configuration utility included with the oculus sdk I believe and the required math is probably on this forum or in the documentation/examples.
  • dghost's avatar
    dghost
    Honored Guest
    The FOV you are using when rendering is determined from the physical screen size and eye distance from the screen. Due to the reduced FOV of the lenses, what you actually see when using the Rift is actually just a relatively small subset of the larger FOV that is being viewed.

    As long as your final image is large enough that you can't see edges when viewed through the lenses the difference in FOV between what is rendered and what is visible isn't obvious.
  • Tgaud's avatar
    Tgaud
    Honored Guest
    WEll, if i Use A lens (big FOV, low res), or C lens (low Fov, high RES), the difference is more than obvious.
    Even if I calibrate both of them.

    With the same source, same image displayed on screen.
    the image is not "stretched" the same, beetween A lens, or C lens.
    The top left pixel in one case will be at 120° with A lens, while the same left pixel will be at 90° with C lens for example.


    I would be agree with your analysis, if the Fov changed beetween lens, but not the resolution.
    but the fact the resolution change too, means that the position of pixel change on the FOV.
    So if you can't be sure, in game, wich pixel will be restitued at wich degree of the FOV in the final rendering, its problematic for perfect realism.
  • dghost's avatar
    dghost
    Honored Guest
    I suppose I should ask before I go any further - are you using Unity, or using LibOVR directly?
  • The in-game FOV really should match the real-world FOV that you can see through the lenses - it's not an independent value. Otherwise it lessens the immersion and gives people fatigue. With the current SDK we need to make a few assumptions about the average distance from your eyes to the lenses, so some games still need a user-settable fudge factor, but we plan to make it far more accurate in future SDKs.
  • I have understood it as Invoke did: The different cups should adjust the sight of users with different eye sight problems to be about the same.
  • dghost's avatar
    dghost
    Honored Guest
    "tomf" wrote:
    The in-game FOV really should match the real-world FOV that you can see through the lenses - it's not an independent value. Otherwise it lessens the immersion and gives people fatigue. With the current SDK we need to make a few assumptions about the average distance from your eyes to the lenses, so some games still need a user-settable fudge factor, but we plan to make it far more accurate in future SDKs.


    Out of curiosity...

    If I'm understanding the math correctly the only reason the viewed image would be different between the different lenses is if they wind up distorting the image differently than the barrel shader. Given that the lenses are at different distances from the screen (I believe) they would either need to have different optical properties to ensure that they distort the image in roughly the same way -or- the distortion applied to the image should be different based on what the user has selected in their profile.

    Is that correct? Or am I failing to understand the math properly? I'm a bit rusty about optics, and the SDK documentation doesn't really talk about the lenses much.

    Edit: I should also add that my DK is on loan to another developer at the moment, so I can't check what the hardware and SDK are actually doing.
  • Tgaud's avatar
    Tgaud
    Honored Guest
    "tomf" wrote:
    The in-game FOV really should match the real-world FOV that you can see through the lenses - it's not an independent value. Otherwise it lessens the immersion and gives people fatigue. With the current SDK we need to make a few assumptions about the average distance from your eyes to the lenses, so some games still need a user-settable fudge factor, but we plan to make it far more accurate in future SDKs.


    I think the good way to think should be :

    "The ingame-image-through-the-lens FOV should match the real-world FOV that you can see without the lens"