Setting hotspot depth in stereo pano

Q&A about the latest versions
Post Reply
tksharpless
Posts: 89
Joined: Wed Aug 27, 2008 11:24 pm

In stereoscopic 3D tours (made with feather-orb.ggsk and feather-vr.ggsk) hotspots appear too close to the viewer, and this is quite distracting.
Setting hotspot depth property does not seem to change anything. Can this be made to work?
tksharpless
Posts: 89
Joined: Wed Aug 27, 2008 11:24 pm

I get the impression that P2VR assumes that stereo pairs are aligned at infinity, so that infinite distance means the hotspot is at the same position in both images, while for all smaller distances the 'right' one is left of the 'left' one.

Unfortunately this is not the case in VR. Oculus best practice is to set the convergence distance at 2 meters, which limits the hotspot distances achievable in P2VR to 6 feet or less. Anything farther would correspond to a negative 'distance' parameter, but P2VR will not accept those.

An easy practical fix would replace the 'distance' parameter with a 'disparity' parameter that can be of either sign, ideally measured in degrees.

The ideal fix would be for the player to implement the convergence distance <=> angular shift of one pano. Then all stereo pairs could be aligned parallel, and the actual convergence set according to the viewing mode. In my experience, 6 feet works well in VR, 30 feet on flat screen (side by side or anaglyph). This would allow a baked-in hotspot distance, set as at present. Also, much more important, it would support dynamic convergence according to eye tracking, which is really a basic requirement for cinematic 3D.
User avatar
thomas
Chief Gnome
Posts: 2613
Joined: Fri Sep 01, 2006 3:56 pm
Location: Vienna, Austria
Contact:

Hello Thomas,

Pano2VR shows the panoramas in VR as 3D scenes, and the panoramas are painted at "infinity," which is, in this case, ~ 10000m/7mil. They are painted with no offset between the images, so we assume that the offset/convergence is baked into the images. The hotspots are added as 3D objects to the scene, and are placed at the set distance. We clamp that distance between 1-5 m to avoid too large/too small hotspots. This also means that you can walk up to a hotspot with a 6 DoF headset.
The rendering is done with the default three.js WebXR view.

I am open to suggestions, how we can improve this system, but as the hotspots are placed at locations in 3D we can not easily add a disparity parameter, that is based on the projection. I am not sure if a smaller sphere for the panorama would help.
MfG, Thomas
tksharpless
Posts: 89
Joined: Wed Aug 27, 2008 11:24 pm

Thanks, Thomas
The need to 'bake in' the convergence distance is the root of the problem. If the panos were converged at infinity, as you assume, then the present way of setting distances of 3D elements works; but it breaks if I set a different convergence distance -- as I must do to get an image that is properly viewable in VR.
The ideal solution is to set all stereo panos at infinity, and preset 3D element distances accordingly, and provide a display time parameter to create the appropriate viewing convergence. I hope you will implement that.
An alternative quick fix would be to replace the unipolar hotspot 'distance' parameter with a bipolar 'disparity' that would allow to set convergence angle relative tio whatever converegence distance the author has chosen to bake in. I don't agree that this would require any knowledge of the viewing projection.
Best regards,
Thomas

BTW This forum s/w SUCKS. This is my third retyping of this reply. The first one disappeared when I tried to post, and got a login screen instead; the second vanished when I chose the "SAVE DRAFT" option. This one I composed on a word processor.
Post Reply