NeoSpark314 / godot_oculus_quest_toolkit

An easy to use VR toolkit for Oculus Quest development using the Godot game engine
MIT License
368 stars 37 forks source link

Feature: Artificial locomotion solution for Hand Tracking #29

Open Wavesonics opened 4 years ago

Wavesonics commented 4 years ago

I thought I'd open the discussion about this here.

I can imagine my project working with hand tracking, except for my need for smooth (non-teleporting) artificial locomotion.

Currently I use the Stick locomotion from this project.

I don't have any (good) ideas currently for what would look like.

Wavesonics commented 4 years ago

My first thought is maybe do hand relative locomotion, and when you make a fist, you move in that direction.

NeoSpark314 commented 4 years ago

The current "solution" I have implemented to this problem is the walk-in-place (or jog) locomotion system in https://github.com/NeoSpark314/godot_oculus_quest_toolkit/blob/master/OQ_Toolkit/OQ_ARVROrigin/scripts/Locomotion_WalkInPlace.gd

I use it for my Voxel Works Quest game (https://sidequestvr.com/app/431) and it provides smooth locomotion; but of course is very controversial as it requires you to move quite a bit and can be tiring. You can see a short video of me doing it in here: https://www.youtube.com/watch?v=N-UReOuxAP0 also someone did actually use it to run 10km: https://www.youtube.com/watch?v=riItnHUjOu8

Hand gesture-based trigger can work well I think (pointing or fist); but it requires your game play mechanic to not require your hands while moving.

An interesting solution is the Telepath locomotion system from Aldin: https://www.youtube.com/watch?v=suINBbP5eU0 maybe this is of general enough use to consider adding something like this to the toolkit.

NeoSpark314 commented 3 years ago

Microsoft research just published a really nice overview and comparison of vr locomotion techniques: https://www.microsoft.com/en-us/research/publication/locomotion-vault-the-extra-mile-in-analyzing-vr-locomotion-techniques/ with an interactive overview page here: https://locomotionvault.github.io/