It is currently Sun Nov 17, 2019 8:23 pm



Reply to topic  [ 6 posts ] 
 Tunneling - Experimental VR Locomotion Technique 
Author Message
Petrif-Eyed
User avatar

Joined: Sat Sep 17, 2011 9:23 pm
Posts: 2220
Location: Menlo Park, CA
Reply with quote
[youtube-hd]https://www.youtube.com/watch?v=lKnM5gC-XpY&feature=youtu.be[/youtube-hd]

https://www.youtube.com/watch?v=lKnM5gC-XpY&feature=youtu.be


Hey guys, it's been way too long since I added anything to this sub-forum. This was my project from a recent hackathon and I thought it might be useful for VR game devs out there. I took as inspiration some of the recent work on "ghosting" being done at Convrge, but extended the concept a bit further.

The strength of instantaneous teleportation techniques is that they allow player movement without vection and the sensation of motion. The downside is that they don't provide any visual feedback or situational awareness. Being teleported instantly to a different position and especially in a new direction can be disorienting. There is enormous value in the visual flow of information gained during a smooth positional change.

This experimental technique which I call Tunneling (because of its similarity to "tunnel vision") is an attempt to marry the strengths of both continuous and instantaneous locomotion. The idea is to confine controller induced vection to only a small central region of the view. This little face-locked viewport ("tunnel") displays continuous motion and allows the user to steer the player just like they normally would in an FPS-style game. Meanwhile, the peripheral view remains at the point of origin, so there is no controller-induced vection in the periphery. This allows the user to feel grounded and motionless while simultaneously steering the player with the first-person viewport. After the movement is complete, the periphery automatically snaps to the new player position, but the snap feels seamless because there is no disruption in the forward view. It simply expands to fully engulf the user.

So how does it feel? Not too bad in my opinion. The visuals can be slightly confusing if you are not prepared for it or if you pay attention to the periphery. But when you become engaged in the center view, the sides fade away from your attention - just as the "tunnel-vision" namesake suggests, and controlling the character feels as natural as any FPS. Once you stop to get your bearings, the periphery snaps to your location affording you a fully immersive view exactly when you need it. It's a pretty good compromise, or as one of my colleagues put it ... "hey you know, this doesn't completely suck." Which is about all you can hope for when dealing with the intractable problem of VR locomotion.

A few more points.

- The technique is scalable. You can increase or decrease the size of the tunnel view to increase or decrease vection - although in practice once the view gets too small it's a bit unusable for navigation.

- There is a potentially big rendering penalty. In the naive implementation you have to render two completely different views and composite them. However the lower FOV of the center view makes it less costly to render. Low resolution rendering of the periphery is an obvious optimization that should be considered. For an extreme optimization it might be possible to render the periphery monoscopically or simply as a cube map - although those techniques have potential downside in terms of incorrect parallax.

- I also experimented with periodic-snapping of the periphery at a fixed interval (2Hz). That keeps the tunnel from traveling too far and diverging too much from the periphery. It sounds like a good idea on paper, but in practice it just seemed to add visual confusion. The whole point of the technique is to reduce visual stimulation in the periphery so periodic-snapping sort of undermines the whole idea. But maybe a slower rate would be ok?

- I'm trying to get this uploaded to Oculus Share in the next couple of days so others can try it out - possibly could release source but it would need to be cleaned up a bunch, and I think most devs could replicate this quickly once they have seen it. The Oculus SDK Layer API makes it really easy to do. You just render another layer at a reduced FOV on top of the bottom layer and track the view from two positions. The core mechanic only took a couple of hours to get going, and most of the time was spent finessing the details of the transition effects and so-on.


Last edited by brantlew on Tue Oct 27, 2015 1:30 pm, edited 2 times in total.



Mon Oct 26, 2015 8:36 pm
Profile
3D Angel Eyes (Moderator)
User avatar

Joined: Sat Apr 12, 2008 8:18 pm
Posts: 11394
Reply with quote
Wow! That looks like it works well.

_________________
check my blog - cybereality.com


Mon Oct 26, 2015 11:20 pm
Profile
Certif-Eyed!

Joined: Sun Mar 25, 2012 12:33 pm
Posts: 661
Reply with quote
This is a very creative approach taking advantage of the fact that the majority of our motion sensing rods are located outside the fovea (backed by the simple fact that fewer people got sick playing FPSs in the HMZ-T1 than ever did using a VR HMD).

This is one of the elegant ways of dealing with FoV reduction during motion... I have a suggestion on the transitions: try to induce change blindness by flashing the entire screen (either to black, white, or some neutral gray) for one frame when beginning and ending the tunnel effect. Perhaps also black out the periphery between flashes.

Another thing to try in the realm of reducing vection in the periphery would be to remove whatever motion cues the retinal ganglia latch onto via a filter (like a Gaussian blur or an edge detection) just in the periphery. Since the retinal ganglia really like edges and medium frequency detail, the filter could either selectively blur out peripheral edges, or sharpen the image to the point of untrackably high frequency detail...

I feel like I remember reading about shapes and imagery that the eye has difficulty locking onto... applying a blurry vignette may be the way to go.... perhaps if you add view-locked medium frequency detail composited on top of the blurred periphery, the eye wouldn't stick as easily?

It's a tough problem, but I think this is a very interesting avenue to explore for its solution. Accessible/natural joystick motion will greatly expand the possibilities of VR content.

EDIT: Oh huh, a good example is a few threads below this one; here's it's link: http://m.medicalxpress.com/news/2015-06 ... eball.html


Mon Oct 26, 2015 11:46 pm
Profile
Petrif-Eyed
User avatar

Joined: Sat Sep 17, 2011 9:23 pm
Posts: 2220
Location: Menlo Park, CA
Reply with quote
Originally I rendered the periphery in super low resolution for a blurring effect, but my anti-aliasing was so crappy that I got a lot of sparkles and pops that were distracting. One thing I found out is that any flashing or attention-grabbing at the edges ruined it a bit. The more you can keep concentration in the center the better, which is why I ended up with simple soft fades. I did entertain all sorts of ideas about nice transitional blurring and de-saturaton of the periphery, but since this was a hackathon I had limited time for such things - not to mention this is done in C instead of a nice engine where I could just dial up such effects easily.

Anyway, I'm sure if a few people start hacking on this they will come up with all sorts of interesting transitions and extensions very quickly. I'm counting on it in fact.


Tue Oct 27, 2015 12:11 am
Profile
Golden Eyed Wiseman! (or woman!)

Joined: Fri Jul 08, 2011 11:47 pm
Posts: 1498
Reply with quote
Very cool. It reminds me quite a bit of the technique used by Brandon in Project Jumpscare. In that (AFAIR), when you stick turn, it fades out the outside of the screen, leaving a bit in the centre to look through, similar to how you mention you did it originally.


Tue Oct 27, 2015 7:55 pm
Profile
Petrif-Eyed
User avatar

Joined: Sat Sep 17, 2011 9:23 pm
Posts: 2220
Location: Menlo Park, CA
Reply with quote
Here's the download link.

https://share.oculus.com/app/tunneling-locomotion-demo


Thu Oct 29, 2015 4:34 pm
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 6 posts ] 

Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Powered by phpBB® Forum Software © phpBB Group
Designed by STSoftware.