Advice on how to implement tilt and rotation based flying - AKA Superman Mode

A long while back I tried some of the early Leap Motion demos. There was a locomotion scheme that I really liked but that I haven’t seen adopted elsewhere. I’d love to try something similar with motion controllers (i.e. Vive Wand, Oculus Touch, Daydream controller)

The demo is still available, it’s the first one of four in this executable and it is called Grid:

There is not a lot to do in the demo except fly around. You effectively feel disembodied, apart from having some hands and all movement was based on hand motion. You had to flatten your hands and then tilt them forward in order to move, your speed would change based on how far your hands were titled forward off the horizontal plane .This allowed for very slow movement, which is good for those sensitive to motion sickness and for fine control of position, or really fast movement if you are less prone to motion sickness and/or wanted to get somewhere on a large map very fast. Basically it felt a lot like what Superman might feel like when flying :slight_smile:

In addition you could turn around by rotating your hands left and right, and I seem to recall the sharpness of your turn could be controlled by the distance between your two hands whilst you rotated them in relation to each other.

I really liked this method of locomotion and I’m envisaging that the same sort of control mechanic could be used with Vive wands or Oculus Touch and in some limited way hopefully Daydream controllers too.

I’m contemplating looking into how to implement this in UE4 for my project. I have to confess that so far I’ve only built one fairly simple control scheme myself, for, which was a little bit barfy for some more sensitive people. In other more recent iterations of my project I’ve just been using my old scheme in combination with teleportation. I don’t really like teleportation.

I’m hoping that some version of what I’ve described above could work for my project. I’d hope to ultimately bring my project to mobile again with support for Daydream and any other mobile VR platform that includes similar controllers. I realise that the Daydream controllers don’t have positional tracking, but perhaps some limited version of what I’ve described above could be implemented. If the turning rate described above, based on the distance between two controllers, was removed then I’m guessing the rest could be implemented with a single controller on Vive, Oculus and Daydream.

What do people think? Anyone remember that Grid demo? If so did you like it as a means of locomotion?

I would love to get some pointers on how I might go about implementing such a control scheme? Even better would be if someone would like to collaborate on a basic template that could be released on Github?

P.S. On a completely seperate note has anyone yet simulated the the Daydream controller using the Vive wand as per Alexander and Nick Whitings discussion on this Twitch stream - discussed at the 34mins onwards. If so would love to hear more details on exactly how your did this.