Had to hack ipdOffset in SteamVR to get correct 3D depth. Is there a better way?

Homepage Forums General vorpX Discussion Had to hack ipdOffset in SteamVR to get correct 3D depth. Is there a better way?

Viewing 15 posts - 1 through 15 (of 17 total)
  • Author
    Posts
  • #196352
    marvinthedog
    Participant

    The focal offset setting in VorpX can increase the 3D depth but it also increases stereo conflicts with lighting and shadows, so it´s unusable in Dead Space for instance. The only way I have found to get correct depth without stereo conflicts is to edit the ipdOffset value in a SteamVR config text file. Is there another VorpX setting that I am missing? I am using immersive screen and unless I use the ipd hack the star sky in Dead Space is only 2 or 3 meters away. Iirc this problem is present in full VR aswell.

    #196355
    jjensson
    Participant

    Is this with G3D or Z3D? I still have not played the Dead Space series in VorpX. It’s on my list. :)

    #196356
    marvinthedog
    Participant

    Geometry 3D. With the ipd hack (plus a fov hack i downloaded) the game is super immersive! :-)

    I am just perplexed there doesn´t seem to be a regular 3D depth setting that doesn´t affect lighting and shadows. In my mind all that should be needed is to increase seperation between left and right view, because that is what the ipd hack does.

    #196362
    huyzer
    Participant

    MarvinTheDog,

    I notice the same thing in Tomb Raider (2013). The shadows and water reflecting up on the character’s face doesn’t align correct, so it’s disconcerting to look at. So that’s why I turn my shadows off. But I would rather not do that.

    If you have the time and/or inclination, can you talk about the reasoning behind the number changes you make in the “default.vrsettings” file found at
    C:\Program Files (x86)\Steam\steamapps\common\SteamVR\resources\settings

    I see
    “ipd”: 0.063,
    “ipdOffset”: 0.0,

    But I have no clue what changes are possible, and how and why you should make certain changes.

    For instance, the ipd (interpupillary distance) for me is about 61 mm. I’m guessing that number (0.063) changes if I set the knob on my HTC Vive. I’m also guessing it should be 0.061 for 61mm?

    But what is the ipdOffset? And how does changing this make it so the shadows don’t look weird compared to setting the hardware knob on the Vive?

    Can you also link to the fov hack you downloaded and what to do with that?

    Thank you,
    Huy

    #196364
    Ralf
    Keymaster

    Just a heads-up that raising the headset IPD beyond your actual IPD will cause severe discomfort pretty fast. Diverging your eyes is highly unnatural and never occurs in normal life. With the right headset IPD correctly functioning VR apps (vorpX included) ensure that your eyes never diverge.

    The strength of the 3D effect is adjusted by changing the virtual ‘camera’ distance, not the physical screen/image distance. The goal in VR however should typically be realistic depth/scale. Usually that’s the case at default. As far as official profiles are concerned there rarely should be the need to tweak anything in this regard.

    If you still want to experiment with 3D-strength/scale for some reason, use the according option in the vorpX menu, not the focal offset expert setting. With the focal offset expert setting, just like with a headset IPD above your actual IPD, you can easily make your eyes diverge, so better don’t touch that at all.

    #196372
    huyzer
    Participant

    Thank you for the warning and sharing the knowledge about that, Ralf!

    #196379
    marvinthedog
    Participant

    Huyzer,

    Oh boy, I have to much time. I never would have expected that this would take several hours to write. In my mind this would only require a very short and simple explaination. I guess I was wrong :-) And it also turned into a guide about Dead Space mid-way through, lol.

    I notice the same thing in Tomb Raider (2013).

    I am no expert but according to my observations; If the missaligned shadows is present at default settings you wont be able to improve them. But if the profile happens to lack full depth (the kind of depth where the sky is infinitely far away and your eyes go parallell when looking at it) and you need to increase it, and if doing so with the focal offset slider will introduce further missalignment of shadows, then the ipd hack will prevent this. The ipd hack can increase the depth without further missaligning the shadows because all it does is increase separation, unlike focal offset that sometimes seems to also lock shadows to the screen depth or something to that effect.

    So I think in most games you´ll be fine by just using the focal offset if you need to increase the depth. And I think most games allready have full depth in full VR mode. So the situations where you would want to increase depth is if you prefer the cinema or immersive screen modes because they have a very limited depth by default. From my observations the sky in those modes are never further away than 3 meters which is very immersion breaking.

    So without having tried Tomb Raider (2013) I am guessing it allready has full depth in full VR mode but lacks full depths in the screen modes. If you prefer the screen modes with full depth and it turns out focal offset introduces further missalignments then the ipd hack will probably be a good solution for you.

    (Note: when I am talking about 3D depth I am talking about “separation” which is a different thing than what the 3D-Strength/Scale slider in VorpX does. The 3D-Strength/Scale slider in VorpX affects world scale, just to clarify.)

    Also, just like Ralph pointed out, there is a very fine line between full depth and beyond full depth. Your eyes should allways go parallell when looking at the sky. They should NEVER diverge. If they converge to some degree it´s way better than diverging even if it´s immersion breaking. On a physical 3D screen it is easy to set this up right to the limit. Just put a ruler onto the surface of the screen and measure an object that is suppose to be at infinity like for instance the sun or the stars. The distance between a pixel on that object in the left view and the corresponding pixel in the right view must never be bigger then your ipd. On a virtual 3D screen in VR it is much harder to set this up because you don´t have access to a virtual ruler. You will just have to “eye” it.

    can you talk about the reasoning behind the number changes you make

    Sure. The file I edit is “C:\Program Files (x86)\Steam\config\steamvr.vrsettings”. You should probably make a backup of the file before changing something. In the SteamVR directory of the text file you should find “ipdOffset” : 0,. If it´s not there you can simply add it. What this value does is increase or decrease the distance between the virtual eye cameras (the cameras that render your left and right view). It´s probably a little easier to wrap your head around this if you think of it in terms of only moving the right eye camera. A positive value will move it further to the right and a negative value will move it further to the left.

    One mm (millimeter) is 0.001 so this value will move it one mm to the right. If your headset is set to an ipd of 63 the distance between the eye cameras will now be 64 mm. -0.001 will instead set the distance at 62 mm. 0.063 would double the distance, -0.063 would put both camera in the same position (which would result in 2D) and -0.126 would but right camera 63 mm to the left of the left camera (which would essentially swap the left and right rendered views).

    The effect the ipdOffset has in any other VR app is different than the effect it has in VorpX. The effect it has in any other VR app is scaling the size of the world up and down, simply because the world gets smaller or larger in relation to the distance between your eyes, or atleast that´s how your brain interprets it. The headtracking doesn´t scale with it so changing ipdOffset can be very nausea inducing because your head seems to move smaller or larger distances than it is suppose to.

    The effect ipdOffset has in VorpX is different because of the fact that you are looking at a virtual 3D screen representing a virtual world rather then looking directly at a virtual world. (Atleast in the screen modes and probably in full VR aswell iirc.) Rather than scaling the size of the world the ipdOffset will scale the size of the screen (and the distance to the screen). This doesn´t scale the size of the world on the screen so much but instead scales the perceived distance to every object in that world. It affects the distance to objects in the background more than it affects the distance to objects in the foreground.

    In other words in VorpX ipdOffset affects the 3d depth much more than it affects the world scale. It´s pretty much the same difference you perceive between watching a 3D movie on a small TV and a large cinema screen. The 3D depth is much bigger on the cinema screen. To go back to the ruler measuring example; The bigger the screen is, the bigger is the distance between two corresponding pixels between the left and right image on that screen, and if the distance between two corresponding pixels of the sky (or some other infinitely far of object) matches your ipd then you have full 3D depth (since your eyes goes parallell).

    Guide for Dead Space in immersive screen mode:

    So what is a good value for the ipdOffset? I can tell you what works for me in Dead Space with immersive screen mode. My ipd is 63,5 mm and I have set the idpOffset value to -0.06. This means the distance between the left and right eye cameras is only 3,5 mm apart. This essentially scales the VorpX cinema room up to the size of a sports stadium. And this gives me a very true to life 3D depth in the game. It actually felt like I could go a little further with the value but I was to afraid that my eyes would start diverging so I am satisfied for now.

    This value works in conjunction with all the other settings I have in VorpX and in the game, which are:

    In-game resolution: 1920 x 1080

    In VorpX main settings:
    Play Style: Immersive Screen Mode
    Expand the Immersive Screen Settings:
    Screen Distance Offset: 1.00
    Screen Curvature: 0
    Screen Curved Verical: 0
    Background: Ambience
    Expand 3D Stereo Settings:
    3D Reconstruction: Geometry
    3D-Strength/Scale: 1.00
    3D FOV Enhancement: 0
    Focal Offset: 0

    Widescreen Fixer:
    And most importantly the FOV hack that enables a true-to-life fov. VorpX own 3D FOV Enhancement setting doesn´t work right since objects dissapears in the periphery. You will have to download Widescreen Fixer from this adress instead:
    https://community.pcgamingwiki.com/files/file/1754-widescreen-fixer-v34-r737/
    Start up Widescreen_Fixer.exe and set the fov to 0.7 for Dead Space. Atleast this setting is what looked good for me. Once you are in the game you enable the larger fov by pressing cltrl + shift + enter.

    I am using an Index by the way. With the Index fov the immersive screen:s corners just about touches the borders of the Index lenses. The VorpX Ambience setting does a great job of masking out the unvisible areas outside the immersive screen. This setup has a great balance between sharpness and performance imo.

    With the true to life 3D depth and fov this is definately one of the most immersive experiences I have had with VorpX. And this concludes my guide for Dead Space.

    Summary about the ipdOffset:

    In most games it might be unecessary to change IpdOffset since the focal offset slider in VorpX does essentially the same thing. But I suspect there are many games where increasing the focal offset will lead to further missmatch of shadows, reflections and such. So far I have noticed this in Dead Space 1 and 2 and Portal 2. IpdOffset doesn´t have this problem.

    Increasing 3D depth by using either of those 2 options is very usefull in the cinema or immersive screen modes because those modes do not have correct depth. In every game I have tried the sky is only 2 or 3 meters away. Increasing the depth with either focal offset or ipdOffset makes the screen look like a window into the world which is much more immersive.

    I hope you will find this valuable :-)

    #196381
    Ralf
    Keymaster

    Unless you want to deal with the inevitable ‘vorpX gives me headaches’ complaints yourself, please don’t recommend doing any of this to others. :) Even if your own eyes can tolerate being forced to look outwards, for others doing so will cause eye strain and discomfort for no reason.

    Just to reiterate:

    None of this is necessary to change the strength of the 3d effect. There is a dedicated setting for doing just that in the menu without any ill side effects, which allows you to adjust the strength of the 3d effect within a far larger margin than what would ever make sense in VR.

    You should never ever set the headset IPD to anything else than your actual IPD. Also please don’t tinker with the focal offset expert setting in vorpX unless you know exactly what you are doing. Forcing your eyes to diverge is something you definitely do not want to do.

    #196384
    marvinthedog
    Participant

    Hi Ralf

    First I just want to say that I am greatly enjoying this app!

    I can understand that you think it´s important that people avoid the risks of having crappy user experiences. My intention is definately not to encourage users to diverge their eyes. In my post I have talked about specifically that in great detail to warn against it.

    No need to tinker with the focal offset expert setting for adjusting the strength of the 3d effect at all. There is a dedicated setting for doing just that in the menu without any ill side effects, which allows you to adjust the strength of the 3d effect within a far larger margin than what would ever make sense in VR.

    The only setting I can find that I think you could be reffering to is 3D-Strength/Scale. But no matter what you do with that setting it doesn´t in any way change the distance to the in-game sky. In full VR the sky is usually at its correct depth but in cinema or immersive screen the sky is never more than 3 meters away, and this is for every game I have tried. This makes it feel just like a regular 3D TV experience. Maybe that is the exact point of the cinema and immersive screen modes. But I suspect a lot of users would prefer if they could get the true-to-life 3D depth they get in full VR mode but in the screen modes aswell.

    And sure you can get that true-to-life depth in the screen modes by changing focal offset. but in some or many(?) games that seems to increase stereo conflicts of shadows etc. My solution solves that. But even better than applaying my obscure hack, I would like to request it as an official feature in the app. It would do the exact same thing as focal offset (only moving the images and not the cameras) but it wouldn´t increase stereo conflicting shadows etc. It might be more difficult than it sounds but since it worked by hacking the ipd it seems like it should be doable internally in VorpX aswell.

    Also I would like to request a virtual ruler or some kind of measuring interface that pops up when adjusting expert settings like focal offset. You could then use this virtual ruler to measure the distance between 2 corresponding points for the left and right image of the in-game sky to make sure that the distance wasn´t greater then your ipd and that your eyes wasn´t diverging.

    #196385
    Ralf
    Keymaster

    As far as I understand your hack you are moving the images outwards, which means there always will be parts of the scene farther apart than your eyes. This is not something you want to do since looking at these parts of the scene will make your eyes rotate outwards to fuse the left and right image together.

    Maybe you are one of the lucky ones with a high tolerance in that regard. Good for you, but that is highly unnatural as it never occurs in normal life. Many, probably most, will experience severe eye strain and discomfort doing that after a while.

    The IPD setting on the headset is meant to be set to your actual IPD, making sure everyting works as it should. As intriguing as your idea may sound, it pretty much turns the headset IPD into the opposite of what it is supposed to do. Instead of ensuring everything is comfortable, with your hack it basically turns into a source of potential discomfort and eye strain.

    #196430
    marvinthedog
    Participant

    As far as I understand your hack you are moving the images outwards, which means there always will be parts of the scene farther apart than your eyes. This is not something you want to do since looking at these parts of the scene will make your eyes rotate outwards to fuse the left and right image together.

    It seems to me that you might have confused SteamVRs ipdOffset value for another value like maybe the ipd in the hmd. All ipdOffset does is exactly the same thing as the 3D-Strength/Scale slider does in Vorpx, namely changing the scale of the world. It is changing the distance between the eye cameras and not the distance between the eye images. However, since you are looking at a virtual screen in VorpX:s screen mode the indirect effect will be the same as changing the distance between the eye images on that virtual screen, simply because ipdOffset is scaling the size of that virtual screen.

    But this will never lead to diverting eyes unless you decrease the distance between the eye cameras so much that it becomes a negative distance (meaning that the right eye camera ends up to the left of the left eye camera, essentially swapping left and right camera views). Diverting eyes is only possible at a negative distance because (atleast in every game I have tried) the sky or other infinitely distant objects is never behind the screen. The sky is allways at the screen distance or slightly infront of it.

    But most importantly; I just wish for an official way to have true-to-life depth in Dead Space 1 – 2 and several other games in the screen modes without increasing stereo conflicts of shadows and lights etc. Focal offset would be the solution to this if it didn´t increase stereo conflicts in said games. Focal offset is moving the images outwards but it is also changing the alignments of lighting etc in those images for those games. If there was another setting just like focal offset that didn´t change the alignment of lighting etc (it only moved the pixels) then I really think that would be a great addition to VorpX.

    #196431
    Ralf
    Keymaster

    I’d gladly make your hack an official feature if it didn’t have the unwanted side effect I mentioned several times above.

    However, the only way to adjust the depth/scale without the unwanted side effect of potentially making your eyes diverge is using the according option in the vorpX menu, which directly affects the game’s stereo rendering. When you change the headset IPD either with the IPD slider or via software with a tool, you ‘only’ move the final images apart.

    Whenever you raise the headset IPD beyond your actual IPD, you will always cause some parts of the scene to be farther apart than your eyes. Within a small range that has a similar optical effect as changing the actual game camera distance, but making the headset IPD larger than your actual IPD always comes at the price of some scene parts being farther apart than your eyes, which is something you do not want to do since forcing your eyes to rotate outwards causes eye strain and discomfort. This never happens in normal life. The same applies to the focal offset expert setting in vorpX, which can have a similarly unwanted side effect.

    No harm in trying, of course, if you are one of the lucky ones with a high tolerance in that regard. Just be aware that with your hack you turn the IPD setting of your headset into the opposite of what is supposed to do, which mainly is ensuring that the above does not happen at any time.

    #196759
    Smoils
    Participant

    Technically you are still looking at a screen at fixed focal distance, eyes could try to converge wrong when virtual IPD is way off, but in practice its not really an issue unless you are trying to look at object in front of your face with correct scale, like read fine print on your gun or whatever, thats the only example where natural eye convergence gets confused and strain your eyes, but you can just wink one eye.

    Anyway problem with vorpx or games themselves is wrong scale is some cases like you enable G3D in a game and everything looks like a scale model. Technically that means that your virtual IPD compared to scene scale is several times larger than it should. If people in game look like tiny dolls for them your virtual view cameras would be several meters apart.

    Steamvr ipd and ipd offset just tell the game at what distance to render virtual cameras. I have played with extreme values and in true VR games it just changes scale of whole scene – objects look giant or like a tiny lego world.

    As far as I understand Vorpx just glues virtual planes in a vr scene to your eyes to where it renders game view. So changing ipd settings in steamvr would only affect scale in those scenes like cinema environment would feel like a dollhouse or you will feel like a doll yourself.

    I have tried Vorpx option regarding ipd offsets but all it does is adding more eye strain. I have no idea why in true vr games changing distance of your virtual eyes work so well compared to vorpx way, but I would love to have an option to fix scale of games like its possible with steamvr and true vr games.

    #196761
    Ralf
    Keymaster

    No native VR app/game I am aware of has an option to change the world scale at all and if there are some it‘s highly unlikely that their adjustment range is as large as it is with vorpX

    You can change the scale within an extremely wide margin using the „3D-Strength/Scale“ option, far wider than necessary. Since typically at 1.0 official profiles provide natural world scale (or are at least very close to it), the provided range from 0.2 to 5.0 is usually the equivalent of being anything from a 40cm dwarf to a 10m giant.

    Typically there shouldn‘t be much reason to touch this setting though. At least for official profiles base parameters are dialed in so that the default 1.0 you see in the menu usually means natural scale.

    #196782
    Minabe
    Participant

    Virt-A-Mate should be a popular enough program to be relevant, although it just might be the only one to do it in such a big scale (e.g. you can make yourself a giant, create fairies, etc). Though offsetting IPD sounds like a bad idea from the get go.

Viewing 15 posts - 1 through 15 (of 17 total)
  • You must be logged in to reply to this topic.

Spread the word. Share this post!