Neos-Metaverse / NeosPublic

A public issue/wiki only repository for the NeosVR project
195 stars 9 forks source link

Locomotion Option: Disable Active-hand Forward/Backward Movement or Alternative Ideas #1395

Open FlameSoulis opened 3 years ago

FlameSoulis commented 3 years ago

One of the biggest issues I've had with Neos's controls has been when turning since the active-hand hand gets tank controls (left/right = turn, forward/back = movement). In all other systems, the active-hand is traditionally used for turning and the off-hand is used for movement when strafing is enabled. While the current control scheme can work, it is unruly if you are used to other systems used everywhere else.

There are a few options I see that could help resolve the issue:

Frooxius commented 3 years ago

This is a little bit tricky, because people come from all different applications with different control schemes, so everyone has different expectations on how it should work. The main scheme we use right now is based on what seemed to be most popular from user reports.

There are already a few options though to customize it in the settings. You can switch your primary hand, to determine which one strafes and which one turns. You can also disable strafing altogether.

I think from what you proposed it would be best to combine the 1st and 3rd options into a setting which lets you customize what each axis does per-controller. E.g. you could tell the Y axis on the secondary/primary hand to be one of the options "Nothing", "Move Forward/Back", "Move vertical". If all axes were reworked and customized this way, I think it would offer most flexibility to accommodate for different schemes that people prefer.

One thing to note is that it'll depend a bit on the locomotion module on how it interprets those though. E.g. Zero-G can be configured to use the Y-axis for changing your pitch (rotation). It's also the reason I wouldn't do the deadzone control, as it would interfere with those.

Do you think this would work well and solve the problem? If so, it'll probably have to wait until the Settings UI is reworked though, it's already overflowing with options right now, so I don't want to cram too many more.

FlameSoulis commented 3 years ago

The proposal involving options 1 and 3 are very ideal and are a good middle ground. The issue was mostly due to constantly walking forward when I just want to turn. Effectively, the controls that at least myself and a few others are used to are with the left hand being forward/backward with strafe and the right hand being mostly for turning or some kind of vertical movement if offered. I have perfect control with the left stick, but the right one proves to be the most cumbersome due to hitting the point where it'd detect forward movement when trying to turn.

shiftyscales commented 3 years ago

The locomotion and input binding systems are currently being implemented as detailed in the devlog which will likely take care of the needs of this issue, particularly when input binding is (eventually) exposed to the user, although, that will likely be a little bit out yet. It won't be a part of the initial transition to the new input binding system.