Missing Passthrough Scenario
TLDR: I want the quality of Reconstructed Passthrough with the flexibilty of Overlay and AddSurfaceGeometry, but I don't believe that is currently possible.
I've been exploring the capabilities of the Passthrough on Quest 3 using Oculus branch of Unreal 5.2. I've observed that Reconstructed Passthrough vs User Defined Passthrough has some unexpected differences, which I think comes down to "reconstruction artifacts" differences.
I've gotten the best passthrough experience using Reconstructed Passthrough, when I move my head or walk about my envirnment, there is minimal shifting and warping of the edge of my nearby desk. It seems very similar if not identical to the headset's home envirnment when passthrough is enabled.
The User Defined Passthrough in Overlay mode allows me to specify exactly where I want passthrough to show up in my scene by allowing me to specify the geometry that should be treated as a window. In my experiments, I've created a cube that surrounds the player, except for a hole in the cube where the player last recentered. This gives a "portal into the world" type effect that I am looking for. However, the pass through is noticably different. Comparing the corners of things with the home passthrough it is almost like it is using a different FOV. But the worst part is the moving my head around, it looks like the surface of my desk floats up and down and everything has a sickening floating feel to it. I wonder why this is happening, and I suspect that "user defined passthrough" is also "surface projected passthrough" and so I suspect that the projectioning is happening differently.
What I really want is to have the flexibility of defining where passthrough will show up (like "User Defined Passthrough" gives me) but I want it to use Reconstructed Passthrough for these areas so that it matches the experience on the Quest 3 home screen.
I don't know how it works. After writing the above, I've spent the day reviewing the relevant code under OculusXRHMD\Private. I can only understand so much because the OculusXRPlugin's external lib obfuscates my ability to understand this further and I could not find the source for that in github. I would have thought that there would just be a single passthrough experience, and my app would just be poking holes that expose that underlying experience. If that is the case, then this may be a relatively simply feature to support, and they just didn't think that users would want it. I'm worried that isn't the case though, and that they are trying to save work creating the whole reconstructed passthrough when it isn't fully needed and instead built this reprojection system onto custom geometry as a performance feature. I would gladly pay the cost of having full passthrough running if it meant my passthrough wouldn't make my users sick.
I would be interested in hearing if anyone agrees that what I want simply isn't possible, or if any thinks it might be possible. Also, any thoughts or insights anyone has I would be interested in hearing them.
