NeoSpark314/godot_oculus_quest_toolkit

Feature: Artificial locomotion solution for Hand Tracking

Wavesonics opened this issue · 3 comments

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.

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

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.

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/