actually_fred Posted 20 hours ago Posted 20 hours ago (edited) I've seen a few conflicting statements about these, so I decided to test using one of Meta's developer tools, which provides a simulated OpenXR-compatible headset. "It's not IPD": Mostly false It's inter-camera-distance (ICD), which is roughly the same thing as IPD. While they are different measurements, changing IPD works by changing ICD. If you make your IPD 1cm larger, you're almost always making your ICD 1cm larger. Both are changing your binocular overlap/separation - that is, the difference between where things appear to be in your left eye compared to your right eye. The difference between ICD and IPD is largely irrelevant to anyone except headset manufacturers, runtime developers, or engine developers. "It's world scale": Mostly true in terms of perception Changing IPD or ICD is a form of world scale. This is also what OpenXR Toolkit's "world scale" option does: https://mbucchia.github.io/OpenXR-Toolkit/other-features.html#world-scale-override Reducing the ICD can make the world feel 'smaller', increasing the ICD can make the world seem 'larger', however, it also has an impact on depth perception. The experience also varies from person-to-person: because (spoiler alert: see below) it's not a true world scale, it makes it so your brain is seeing inconsistent data about reality which doesn't make sense. Some people will feel a depth change, some a size change, some neither, and some will just get eye strain or a headache. "It's world scale": Mostly false in terms of what the game actually does It does not change the size of anything sent to the displays. All it changes is how far apart the left eye view and right eye view are. In theory, if you look through just one eye at a time, the "force IPD distance" will have no effect on perceived size - however, if you mix this with looking through both eyes, your brain is great at filling in the blanks, and it will still feel like it changes the one-eye size even though it objectively doesn't. If an MFD is 200px by 200px with "Force IPD Distance" set to 70, it's still 200px by 200px with "Force IPD Distance" set to 80. Practical advice Your runtime/headset options should be at least as good. This is because if a runtime uses IPD as part of reprojection, using "Force IPD Distance" will hurt it. Note you often can't entirely turn off reprojection, even if there's an option for it: if DCS start rendering a frame 10ms before it will be displayed on your headset, the runtime provides a 'best guess' at where the headset will be in 10ms. Even without missed frames, 10ms later, runtimes will often reproject the image that DCS provided to account for the difference between the prediction and the reality. If you don't see a difference, maybe your headset/runtime doesn't use IPD as part of the reprojection, or maybe it's just not something you're sensitive to. In that case, use whatever's most convenient to you. Receipts I've used a simulated headset instead of a real headset so that: there is absolutely zero head movement it is pixel-perfect reproducible Fake headset is set to 60mm IPD for both screenshots. You can save them and see the pixel measurements are identical in both screenshots and have the same reference points, or, you can see that the front panels are the same width in both screenshots - but the distance between the left and right eye changes. If this were a 'true' world scale, changing it would change the pixel size of objects. The easiest reference point for overlap is the hole/rivet on the front canopy, near the centerline. image.png60 IPD headset, no override: 60 IPD headset, 80 IPD override: Edited 19 hours ago by actually_fred 3 I don't provide any support for any of my software on these forums, or accept bug reports or feature requests on these forums. If you need help with one of my projects, the project documentation may directly address your problem, and tell you where/if help is available
Recommended Posts